[4.2.] Case Studies(2)
2022. 7. 26. 23:52
인공지능/DLS
Networks in Networks and 1x1 Convolutions [1x1 Convolutions] 여기서는 그냥 2배 곱하는 효과밖에 안 됨 (input이 6x6x1 이미지) 하지만 채널수가 32개라면 어떨까? 1x1 블록은 volume(channel)을 가로질러(-> one slice) 한 위치의 픽셀값들을 확인할 수 있게 해준다 마치 32개의 입력값을 받는 신경망 노드 하나의 역할을 하는 것이다 + 1x1블록 filter가 여러개라면 여러 노드를 이루는 것 "It is basically having a fully connected neural network" "one-by-one convolution" 혹은 "network in network"라고 부름 [Using 1x1 convoluti..
[4.2.] Case Studies(1)
2022. 7. 24. 21:50
인공지능/DLS
Why look at case studies? building blocks를 어떻게 쌓아야 효과적일까? 한 task에 잘 작동하는 아키텍쳐가 다른 task에도 효과적일 수 있다 [Classic networks] - LeNet-5 - AlexNet - VGG [ResNet] - 152개 레이어 (very deep) [Inception] Classic Networks [LeNet-5] - hand written digits - 0~9 분류 - 약 60000개 파라미터 (오늘날 기준 비교적 적은 편) - $n_{H}$, $n_{W}$는 감소하고, $n_{C}$는 증가 - conv - pool - conv - pool - fc - fc - output (advanced comments) 당시에는 sigmoid/..
[4.1.] Convolutional Neural Networks(3)
2022. 7. 24. 03:21
인공지능/DLS
Pooling Layers [Max Pooling] 해당 영역의 가장 큰 값만 가져옴 이때 pooling에 사용되는 필터 사이즈는 2, stride 크기는 2 "if the feature is detected anywhere in the filter, then keep a high number. But if this feature is not detected, then the max of all those numbers is still itself quite small" --> 솔직히 이것이 max pooling이 잘 먹히는 근본적인 이유인지는 솔직히 모르겠다(응선생) pooling에 사용되는 파라미터는 학습되지 않는다 정해진 상태 그대로 연산함 이번에는 filter 사이즈 3, stride 크기 1로 ..
[4.1.] Convolutional Neural Networks(2)
2022. 7. 24. 01:56
인공지능/DLS
Convolutions Over Volume 3D volume에 convolution 적용하기 [Convolutions on RGB images] "height x width x 채널수" 입력 이미지의 채널수와 filter의 채널 수는 일치해야 한다 출력 이미지는 4x4 사이즈가 됨 - 2D output filter들을 각 채널에 포개서 곱하고, 그 값들(27개)을 모두 더함 채널수만큼 포개진 filter를 "R채널의 vertical edge만을 찾게" 만든다면 아래와 같이 구성할 수 있음 vertical edges in any color? -> RGB 필터 전부 똑같이 채우면 됨 [Multiple filters] 여러 개의 필터를 한번에 적용해보고 싶다면? 필터의 개수만큼 생긴 output 이미지들을 ..
[4.1.] Convolutional Neural Networks(1)
2022. 7. 23. 23:40
인공지능/DLS
Computer Vision image classification/recognition Object Detection Neural Style Transfer - input이 매우 커질 수 있다는 챌린지 - 1000*1000 사이즈의 이미지라면 3개의 채널까지 해서 --> $1000 \times 1000 \times 3 = 3000000$차원 standard한 NN에 입력한다고 치면 1000차원의 레이어의 파라미터 차원은 $(1000, 3000000)$로, $3000000000$에 달함 --> overfitting을 방지할 만큼 큰 데이터와 computational 파워를 구하기 쉽지 않음 Edge Detection Example convolution operation 6x6 흑백 이미지(채널 한 개)에 ..
[3.2.] End-to-end Deep Learning
2022. 7. 20. 23:35
인공지능/DLS
What is End-to-end Deep Learning? - Speech recognition example 음성파일 input $x$ 와 transcript output $y$가 있다 기존에는 여러 processing stages를 거쳐야 했다 1) $x$ 로부터 feature 추출 (MFCC) 2) Phonemes 분리 (머신러닝 알고리즘) 3) 단어 형성 4) transcript $y$ 형성 end-to-end deep learning은 $x$를 입력하면 바로 $y$가 나온다 end-to-end deep learning은 큰 데이터를 필요로 한다 - 데이터 양이 적을 때는 기존ML방식이 더 잘 됨 - face recognition 출입시 활용하는 시스템을 만든다고 해보자: 카메라 이미지 $x$가..
[3.2.] Learning from Multiple Tasks
2022. 7. 20. 22:22
인공지능/DLS
Transfer Learning 새로운 데이터셋으로 교체, 마지막 한두 개 레이어의 가중치를 initialize한 후 재학습 데이터양이 크면 전체 레이어를 다시 학습해도 괜찮음 "pretraining" -> "fine-tuning" 새로운 레이어를 더 붙일 수도 있음 데이터가 적을 때 사용할 수 있다 전이학습이 필요 없는 경우? 반대의 경우 [When transfer learning makes sense] transfer from A -> B - task A and B have the same input X (이미지면 이미지, 오디오면 오디오 ...) - have a lot more data for task A than task B (task B의 가치가 더 valuable) - low level fea..
[3.2.] Mismatched Training and Dev/Test Set
2022. 7. 20. 00:12
인공지능/DLS
Training and Testing on Different Distributions train과 test의 분포가 다를 때. 옵션1. 두 데이터를 섞고, randomly shuffle - 장점: training/test가 동일한 분포에서 옴 - 단점: dev/test셋의 큰 비율이 여전히 webpage 샘플 --> 비추 옵션2. training set에 mobile app 데이터 일부를 주고, dev/test셋을 모두 mobile app 데이터로 꾸린다 - 장점: 원하는 target으로 설정할 수 있음 - 단점: training/test가 다른 분포에서 옴 --> 하지만 장기적으로는 나은 옵션 Bias and Variance with Mismatched Data Distributions 앞에서 살펴본 ..