인공지능

    Recurrent Neural Network (RNN)

    1. Recurrent Neural Network (RNN) 지금까지의 네트워크 구조는 하나의 입력에 대한 하나의 출력을 내보내는 네트워크였다. 그렇기 때문에 CNN에서도 하나의 이미지에 대한 결과를 나타냈었는데 음성 및 문자 등 순차적으로 등장하는 데이터처럼 입력의 길이와 출력의 길이가 가변적인 문제에서는 어떻게 처리해야할까? 이 문제를 해결하기 위해 RNN을 사용한다. RNN이란 시퀀스와 연결된 노드로 구성된 네트워크이다. 2. RNN의 구조도 RNN의 구조는 문제에 따라 다르게 정의될 수 있다. 다음은 그 구조도이고, 각각 대표적으로 어떤 문제에 사용되는지 알아보자. one to many : 이미지 -> 단어의 연속 (이미지 설명) many to one : 단어의 연속 -> 문장 (단어 분석) ma..

    인공 신경망 학습

    1. 활성화 함수 1. 인공 신경망의 간략도 2. 활성화 함수란? 네트워크로 분류할 때, 분류기가 비선형 분류기로써 역할을 하기 위한 비선형 함수이다. 위 그림에서 활성화 함수 부분이 빠진다면 각 노드는 *와 + 등 선형 연산만 하게 되므로 이런 네트워크는 비선형 데이터를 분류하지 못하게 될 것이다. 3. 활성화 함수의 종류 1. Sigmoid 가장 초기의 활성화 함수로 뉴런에 대한 직관적인 해석으로 탄생한 활성화 함수이다. 하지만 현재에는 잘 사용하지 않는데 다음과 같은 3가지의 이유가 있기 때문이다. 첫째로는 레이어를 거듭할 수록 기울기가 0에 가까워 지기 때문이다. 그 이유는 Sigmoid의 정의 때문인데, 0에서 - 혹은 +로 발산할 수록 gradient는 0에 가까워지고, 이것이 레이어가 깊어질..

    역전파와 신경 네트워크

    0. Gradient descent 이전에 Gradient descent가 어떤 의미를 갖는지 알아봤었다. 리마인드 해보자면, 다음과 같은 scores funcion이 있을 때 각 데이터 별로 실제 scores와 예측 scores를 이용하여 Loss(손실)를 계산하고, 모든 데이터에 대해 더했다. 이와 같이 하나의 스칼라로 나타나진 Loss라는 기준을 바탕으로, 이 값을 최소화 하는 방향으로 W를 업데이트 하기 위해서 우리는 Loss를 W에 대해서 미분한 값을 구하는 것이다. 이렇게 미분값을 구하고, W를 갱신하는 것을 iterative하게 함으로써 우리는 최적의 값으로 도달할 수 있다. Gradient descent에서 가장 중요한 것은 어떻게 L을 w에 대해 미분한 값을 얻느냐 인데, 이 방식에는 직..