목록신경망 (4)
Stack Building
딥러닝이란 머신러닝의 하위 개념 중 하나로, 사람을 모방(신경망)한 알고리즘 또는 엄청난 연산량을 수행하는 알고리즘을 말한다. 비전, 오디오 등에서 주목할 만한 성과를 내고 있다. 증기 기관과 역학 이론 등에서 알 수 있다시피 많은 경우 현상(응용된 발명품)이 먼저 등장하고 이론이 정리되었다. 마찬가지로 현재 딥러닝은 도움이 되는 결과는 내놓고 있지만 정확한 과정이나 이유는 밝혀지지 않고 있다. 딥러닝은 머신 러닝의 특정한 한 분야로서 연속된 층layer에서 점진적으로 의미 있는 표현을 배우는 데 강점이 있으며, 데이터로부터 표현을 학습하는 새로운 방식입니다. 딥러닝의 딥deep이란 단어가 어떤 깊은 통찰을 얻을 수 있다는 것을 의미하지는 않습니다. 그냥 연속된 층으로 표현을 학습한다는 개념을 나타냅니다..
1. 손실 함수(Loss Function)를 코드로 구현하면? (1) Softmax def softmax(X): exps = np.exp(X) return exps / np.sum(exps) (2) Stable Softmax def stable_softmax(X): exps = np.exp(X - np.max(X)) return exps / np.sum(exps) (3) Cross-Entropy def cross_entropy(X,y): """ X is the output from fully connected layer (num_examples x num_classes) y is labels (num_examples x 1) Note that y is not one-hot encoded vector. I..
1. 활성 함수는 왜 쓰는가? 딥러닝 네트워크에서는 노드에 들어오는 값들에 대해 곧바로 다음 레이어로 전달하지 않고 주로 비선형 함수를 통과시킨 후 전달한다. 이때 사용하는 함수를 활성화 함수라고 부른다. 값에 따라 이 값을 활성화할지 비활성화할지 정하는 셈임. 여기서 주로 비선형 함수를 사용하는 이유는 선형함수를 사용할 시 층을 깊게 하는 의미가 줄어들기 때문이다. 선형함수인 h(x)=cx를 활성화함수로 사용한 3층 네트워크를 떠올려 보세요. 이를 식으로 나타내면 y(x)=h(h(h(x)))가 됩니다. 이는 실은 y(x)=ax와 똑같은 식입니다. a=c3이라고만 하면 끝이죠. 즉, 은닉층이 없는 네트워크로 표현할 수 있습니다. 뉴럴네트워크에서 층을 쌓는 혜택을 얻고 싶다면 활성화함수로는 반드시 비선형 ..
1. 신경망 개념 인간의 뉴런 체계를 모사 1-1. 인간의 뇌와 신경망 (1) 인간 뇌의 특징 - 1000억 개의 뉴런과 각 뉴런을 연결하는 100조 개의 시냅스의 결합체 - 뉴런은 기본적인 정보처리 단위 - 정보는 신경망 전체에 동시에 저장되고 처리 - 학습에 따라 ‘오답으로 이끄는 뉴런들 사이의 연결은 약화되고, ‘정답’으로 이끄는 연결은 강화 (2) 신경망Neural Network - 인간 뇌를 기반으로 한 추론 모델 - 인간 뇌의 적응성을 활용하여 ‘학습 능력’을 구현함 - 신경망은 뉴런이라는 아주 단순하지만 내부적으로 매우 복합하게 연결된 프로세스들로 이루어져 있음 - 뉴런은 가중치 있는 링크들로 연결 (3) 기계학습과 신경망 기계학습이란 인간이 가지고 있는 학습 능력을 로봇이나 컴퓨터에서 실현..