반응형

AI/밑바닥부터 시작하는 딥러닝 8

[밑바닥부터 시작하는 딥러닝] 소프트맥스란? 소프트맥스 함수 구현하기 in 파이썬 (softmax in python)

소프트맥스란? What is softmax? softmax란? 신경망의 출력층에서 사용하는 활성화 함수로, 분류문제에 쓰이는 함수이다. * 회귀에서는 항등함수(identity function)을 사용한다. softmax의 식은 다음과 같다. 파이썬에서 소프트맥스 함수 구현하기 (softmax in python) 파이썬에서 seoftmax 함수는 다음과 같이 구현한다. 12345678import numpy as np def softmax(a) : exp_a = np.exp(a) sum_exp_a = np.sum(exp_a) y = exp_a / sum_exp_a return ycs 이를 한 줄씩 실행하면 다음과 같다. 1234a = np.array([0.3,2.9,4.0])exp_a = np.exp(a)s..

[밑바닥부터 시작하는 딥러닝] 파이썬으로 신경망 순전파 구현하기 (Neural Network forward propagation in python)

지난 포스팅에서는 신경망과 활성화 함수에 대해 알아보았다. >> 신경망이란? 바로가기>> 활성화함수란? 바로가기 이번에는 파이썬에서 3층으로 이루어진 신경망의 순방향(입력부터 출력까지)을 구현하는 방법에 대해 알아보겠다. 파이썬으로 뉴럴 네트워크 Feed Forward 구현하기 다음과 같은 3층 신경망을 구현하겠다. input layer (0층)는 2개, 첫 번째 hidden layer (1층)는 3개, 두 번째 hidden layer (2층)는 2개, output layer (3층)는 2개의 노드로 구성된다. 1. 0층 -> 1층 입력층 (0층) 에서 첫 번째 은닉층 (1층) 으로 가는 신호는 다음과 같다.a1을 식으로 나타내면 다음과 같다.이를 다시 일반화 하면 다음과 같다. 즉, input laye..

[밑바닥부터 시작하는 딥러닝] 활성화함수란? 활성화 함수의 종류, 역할 및 구현 in python 파이썬 (What is activation function?)

지난 시간에 신경망이란? 에 대해 알아보았다. >> 신경망이란? 바로가기 이번에는 신경망의 특징 중 하나인 활성화 함수에 대해 알아보겠다. 활성화함수란? What is activation function? 활성화함수(Activation Function)란? 입력 신호의 총합을 출력 신호로 변환하는 함수로, 입력 받은 신호를 얼마나 출력할지 결정하고 Network에 층을 쌓아 비선형성을 표현 할 수 있도록 해준다. Activation Function을 자세히 설명하기에 앞서 퍼셉트론에 대해 복습해 보겠다. >> 퍼셉트론이란? 바로가기>> 퍼셉트론으로 논리회로 구현하기 바로가기>> XOR 게이트로 알아보는 퍼셉트론의 한계 바로가기>> 퍼셉트론으로 XOR 게이트 구현하기 바로가기 x1과 x2라는 두 신호를 입..

[밑바닥부터 시작하는 딥러닝] 신경망이란? (What is neural network?)

지난 포스팅에서는 신경망의 근간이 되는 퍼셉트론에 대해 알아보았다. >> 퍼셉트론이란? 바로가기>> 퍼셉트론으로 논리회로 구현하기 바로가기>> 퍼셉트론의 한계 바로가기>> 퍼셉트론으로 XOR 게이트 구현하기 바로가기 이번에는 신경망에 대해 알아보겠다. 신경망이란? What is neural network? 앞서 리뷰했던 퍼셉트론(perceptron)과 신경망(neural network)은 매우 비슷하다. 그러나 다른점은 퍼셉트론은 가중치(w, b)를 수동적으로 지정해줘야하지만, 신경망은 스스로 학습하여 그 값을 찾아낼 수 있다는 점이다. 신경망의 구조는 다음과 같다. 가장 왼쪽 노드들을 입력층(input layer), 가장 오른쪽 노드들을 출력층(output layer), 중간 노드들을 은닉층(hidde..

[밑바닥부터 시작하는 딥러닝] 퍼셉트론으로 XOR 게이트 구현하기 in python 파이썬

지난 시간에 퍼셉트론의 한계에 대해 공부했다. >> 퍼셉트론이란? 바로가기>> 퍼셉트론으로 논리회로 구현 바로가기>> 퍼셉트론의 한계 바로가기 이번에는 퍼셉트론으로 XOR 게이트를 구현하는 방법에 대해 알아보겠다. 파이썬에서 perceptron으로 XOR gate 구현하는 방법 퍼셉트론 하나로는 XOR 게이트를 구현 할 수 없었다. 그렇다면 퍼셉트론으로 XOR 게이트를 표현하는 방법은 무엇일까?바로 퍼셉트론을 여러 층 쌓아 다층 퍼셉트론(multi-layer perceptron)으로 비선형성을 만드는 것이다. 퍼셉트론을 쌓기에 앞서, XOR 게이트를 NAND, OR, AND 게이트로 쪼개보면 다음과 같다. input x1과 x2에 대해 NAND 게이트의 결과와 OR 게이트의 결과를 다시 AND 게이트에 ..

[밑바닥부터 시작하는 딥러닝] 퍼셉트론의 한계 - XOR 게이트 (limit of perceptron - XOR gate)

지난 포스팅에서 퍼셉트론과 퍼셉트론으로 논리회로 구현하는 방법에 대해 알아보았다. >> 퍼셉트론이란? 바로가기>> 퍼셉트론으로 논리회로 구현하기 바로가기 이번에는 퍼셉트론의 한계에 대해 알아보겠다. 퍼셉트론의 한계 - XOR 게이트 퍼셉트론은 직선으로 나뉜 두 영역을 만든다.AND, NAND, OR gate 같은 경우 나뉜 한 쪽 영역은 1을, 나머지 영역은 0을 출력한다. 예를들어 OR gate의 경우 다음과 같다. 입력이 (0,0) 일 때 0을, (0,1), (1,0), (1,1) 일 때 1을 출력한다. 그렇다면, XOR 게이트는 퍼셉트론으로 어떻게 구현할 수 있을까?즉, 하나의 직선으로 0과 1을 어떻게 나눌 수 있을까? 정답은 "하나의 직선만으로는 불가능"이다. 아래의 그림에서 하나의 직선만으로 ..

[밑바닥부터 시작하는 딥러닝] 파이썬으로 논리회로 구현하기 (AND, NAND, OR gate with perceptron in python)

지난 시간에는 퍼셉트론이란 무엇인가에 대해 알아보았다.이번에는 퍼셉트론으로 AND, NAND, OR 게이트 구현하는 방법에 대해 알아보겠다. >> 퍼셉트론이란? 바로가기 perceptron으로 AND, NAND, OR 게이트 구현하기 in python 1. AND 게이트 AND 게이트의 진리표는 다음과 같다. 이를 퍼셉트론으로 구현하기 위해서는 해당 input에 대한 output이 나오도록 w1, w2, θ 값을 정해야 한다.이를 만족하는 (w1, w2, θ)의 조합은 (0.5,0.5,0.7), (0.5,0.5,0.8), (1,1,1) 등 무수히 많다. 1.1 이를 파이썬에서 perceptron으로 구현하면 다음과 같다. 123456789101112def AND(x1,x2): w1,w2,theta=0.5..

[밑바닥부터 시작하는 딥러닝] 퍼셉트론이란? (What is perceptron?)

>> 퍼셉트론으로 논리회로 구현하기 바로가기 퍼셉트론(perceptron)이란? 퍼셉트론은 신경만(딥러닝)의 기원이 되되는 알고리즘으로 매우 중요한 알고리즘이다. 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다.즉, 하나 이상의 값들을 input으로 받아 어떠한 계산 후 output으로 출력한다.퍼셉트론 신호는 1 or 0의 두 가지 값을 가질 수 있다. 신호가 흐르면 1, 흐르지 않으면 0이라 생각하면 편하다. 예를 들어, input이 2개인 perceptron은 다음과 같다. x1과 x2는 입력 신호, y는 출력 신호, w1과 w2는 가중치를 의미한다. (w : weight) 입력 신호와 출력 신호를 담고있는 원은 노드 혹은 뉴런이라 부른다.입력 신호가 뉴런에 보내질 때는 각각 고유한 ..

반응형