2023. 10. 16. 01:26ㆍRun/Machine Learning
Mark I Perceptron (1957, Frank Rosenblatt) |
- Perceptron 알고리즘을 구현한 최초의 기계 - Wx + b 와 유사한 함수 사용 - 가중치 W update하는 back propagation과 유사한 update rule 사용 |
Adaline/Madaline (1960, Widrow and Hoff) |
- 최초의 multilayer perceptron network - Neural network layer와 비슷한 모양이나 back prop 같은 학습 알고리즘 없었음 |
First back-propagation (1986, Rumelhart) |
- 최초로 network 학습시키는 것에 관한 개념 정립 시작 |
DNN (2006, Hinton and Salakhutdinov) |
- DNN이 효과적임을 보였으나 현재와 다름 |
Neural Network (2012, Geoff Hintin Lab) |
- Acoustic modeling과 speech recognition에서 nn이 매우 좋은 성능 보임 - Neural Network 열풍 |
... |
Convolutional Neural Networks
CNN은 classification, retrieval(ex. 이미지 검색), detection, segmentation, image captioning 등에 사용됨
GPU를 사용한 병렬 처리를 통해 CNN을 효과적으로 학습시킬 수 있음
Fully Connected Layer
벡터를 가지고 연산함 (32x32x3 input image → 1x3072 vector)
가중치 W(3072x10) 와 벡터를 곱하고 output으로 activation(1x10. 10개의 뉴런)을 얻음
Convolution Layer
Fully connected layer과 달리 기존의 구조를 유지함 (32x32x3)
작은 filter(5x5x3)가 이미지 내에서 sliding 하며 dot product를 수행함 ($W^{T}x + b$)
(코드로 작성할 때는 벡터 형태로 쭉 stretch 한 다음 계산해서 dot product 값을 얻는 듯)
보통 여러 개의 filter를 사용하여 각 filter마다 다른 특징을 추출함
Filter 수만큼의 activation map을 얻게 됨
CNN은 convolution layer의 연속된 형태임
중간중간 ReLU와 같은 activation function을 넣고, pooling layer도 넣고, 마지막에 FC layer을 넣어 score을 계산함
마지막 Conv layer의 출력(3차원)은 1차원 벡터로 stretch 되어 FC layer의 input으로 들어감
각 layer들이 계층적으로 학습함. 즉, 뒤로 갈수록 high-level feature을 학습함
Filter는 이미지 내에서 왼쪽 상단부터 stride만큼 이동함
보통 크기는 3x3, 5x5, 7x7이며, 이때 stride 크기는 각각 1, 2, 3임
Output 크기: (N - F) / stride + 1
Filter의 중앙이 닿지 않는 모서리 부분에 대해서도 값을 추출하기 위해 zero-padding을 함
Pooling Layer
Representation을 줄이고자 사용 (파라미터 수 줄이고자 사용)
Down sampling (ex. 224x224x64 → 112x112x64. Depth 변화 X)
보통 max pooling을 사용하는데, '얼마나' 필터가 활성화 되었는지 알려주므로 average pooling보다 좋음
'Run > Machine Learning' 카테고리의 다른 글
[Machine Learning] CS231N #7 Training Neural Networks 2 (0) | 2023.10.17 |
---|---|
[Machine Learning] CS231N #6 Training Neural Networks 1 (0) | 2023.10.17 |
[Machine Learning] CS231N #4 Backpropagation and Neural Networks (0) | 2023.10.15 |
[Machine Learning] CS231N #3 Loss Functions and Optimization (0) | 2023.10.14 |
[Machine Learning] CS231N #2 Image Classification (0) | 2023.10.12 |