cs231n

    Recurrent Neural Network (RNN)

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

    CNN 구조

    0. AlexNet 가장 처음 LeNet-5라는 CNN 아키텍처가 있었다. 하지만 하드웨어의 한계로 유의미한 성과를 내지 못했었는데, 하드웨어가 발달함에 따라 이 아키텍처를 더 키운 AlexNet이 2012년에 발표되었다. 파라미터의 갯수는 필터의 크기 x 필터의 갯수이므로 첫번째 레이어만 약 3만 5천개((11*11*3)*96)의 파라미터가 들어갈 만큼 AlexNet은 LeNet-5에 비해 커졌음을 확인할 수 있다. 다음은 AlexNet의 구조도이다. 당시의 하드웨어적 한계(그래픽 카드의 메모리가 3GB 였음)로 인하여 레이어가 같은 레이어더라도 반씩 나누어 연산을 하였으며, GPU간의 통신이 느리기 때문에 1,2,4,5번째 CONV는 같은 GPU에 속한 feature map에 대하여 전파하였으며, 3..

    인공지능 Learning rate, Regularization, Weight update, Transfer Learning

    1. Learning rate 이전 포스팅에서 optimize방식에 대해서 다루어보았다. 모든 방식은 learning rate를 하이퍼 파라미터로써 갖음을 확인하였는데, 어떤 형태의 하이퍼 파라미터가 가장 좋은것이고, 어떻게 이 값을 결정할까? 우리의 최종 목표는 빨간 선의 경향을 갖는 learning rate를 찾아야 한다. 이를 찾기 위해서는 다양한 learning rate를 실험해야 하는데, 범위를 좁히는 방법으로는 step decay, expotential decay, 1/t decay가 있다. 학습을 진행시킴에 따라 더이상 Loss가 줄어 들지 않고 수렴하는 형태를 띌ㄹ 때 위와 같은 방식으로 learning rate를 업데이트 해준다. 이러한 방식을 learning rate decay라고 한다..