원래 convolution filter의 크기가 커지면서 가지는 이점은 한 번 filter를 찍었을때 고려되는 input의 크기가 커진다는것.(이를 Receptive field(하나의 convolution feature map 값을 얻기위해 입력할 수 있는 special demension)라고 함)
3 x 3두개를 사용하는 것과 , 5 x 5하나를 사용하는것이 Receptive field 관점에서 같음 하지만 params 수의 차이는 큼 (아래 그림 참고)
fully connected layers 에 1 x 1 convolution 사용
Dropout(p =0.5)
Layer 개수에 따라 VGG167, VGG19
GoogLeNet
검은색 박스 친 부분이 여러번 반복됨, Network In Network(NIN)구조
Inception block 여러개로 퍼졌다가 하나로 합쳐지게 됨
하나의 입력에 대해서 여러개의 receptive filters를 통해서 여러개의 결과를 합치는 효과
1 x 1 convolution을 통해 parameters수를 줄일 수 있게
왜 1 x 1 convolutions이 parameters수를 줄이는가
spacial demension은 그대로고 channel방향으로 줄임
ResNet
깊은 신경망 네트워크가 학습시키기가 굉장히 어려움
많은 숫자의 파라미터들 때문에 과적합이 흔하게 발생 그래서
차이만 학습
그전엔 학습을 잘시켜도 더 깊게 쌓은것이 성능이 안 좋았는데 residual 이후엔 깊게 쌓아도 성능이 향상
> Deep 하게 쌓을 가능성을 엶
inception structure 와 같이 앞뒤로 1 x 1을 넣으면서 크기는 원하는대로 바꾸되 파라미터갯수만 줄여줌
DenseNet
ResNet처럼 더하지말고 concatenation 하기(채널에 더하기)
그만큼 파라미터 수가 기하 급수적으로 커지기 때문에
Dense BLock으로 parameter 늘리고 Transition Block((1 x 1 conv) 로 줄이고를 반복
Detection
Fully Convolutional Netwrok
input 의 spacial demension 에 대해 independent하다(인풋 이미지의 크기와 상관없이 네트워크가 돌아간다)
Output 이 커지게 되면 그것에 비례해서 뒷단의 spacial demension이 커지게 됨
컨볼루션이 가지는 shared parameter성질 때문에
FCN이 어떤 인풋사이즈가 들어오던 subsampling에 의해 아웃풋크기는 보통 줄어들음 > 업샘플링필요
컨볼루션의 역연산 > upsampling
R-CNN
이미지에서 2천개 가량의 바운딩 박스를 뽑음 > 똑같은 크기로 맞춤(CNN) > 특징을 뽑음(AlexNet) > SVM로 분류
굉장히 brutal force스럽고 오래걸림
SPPNet
이미지에서 뽑은 2000개의 box를 모두 CNN에 통과시켜야 하는것이 R-CNN의 가장 큰 문제점
그래서 이미지 전체에 대해서 CNN을 해서 feature map을 만들고 뽑힌 바운딩 박스의 Tensor만 가져옴
Fast R-CNN
뒷단을 제외하면 R-CNN과 동일
원래 SVD로 하던 분류를 ROI feature vector 을 통해서 함
Faster R-CNN
bounding box 를 뽑아내는것을 랜덤이 아니라 학습을 하자
> Region Proposal Network 안에 물건이 있을지 없을지 판단(무슨 물체인진 뒷단에서 판단)
YOLO
여러개의 바운딩 박스와 클래스 분류를 동시에 예측
이미지를 S x S 그리드로 나눔
Seqential Model
Sequential data를 처리하는 가장 큰 어려움은 얻고자 하는 하나의 정보를 얻음에 있어서, 그 정의상 입력의 차원을 알 수 가 없음(어디가 끝날 지 모름)
이전 데이터가 있을 때 , 다음을 예측해 보자
Naive sequence model
데이터를 추론할 때 이전에 있는 모든 데이터를 고려
Autoregressive model
timespan을 정해놓고 거기까지만 고려
Markov model(first-order autoregressive model)
나의 현재는 직전의 과거에서만 영향을 받는다고 가정
joint distribution을 하기 굉장히 편함
수능 점수가 전날공부에만 영향받는것이 아니듯이 오류가 존재함
Latent autoregressive model
중간에 Hidden state가 과거의 정보를 요약
그리고 다음 x는 그 과거의 요약으로부터만 영향을 받는다고 가정
RNN(Recurrent Nerual Network) (valina)
Sequential data를 처리하기 위해서 이전의 결과가 다음 결과에 영향을 미칠 수 있어야하므로, 다음과같은 형태로 표현할 수 있음,상태를 계산할 때 이전 상태를 사용
가장 큰 단점은 먼 과거의 정보는 고려하기 힘듦 > Short-term dependencies
Long Short Term Memory
입력값은 세개
input Xt
Previous cell state는 밖으로 나가지 않고, t초까지의 정보의 요약
Privious hidden state 이전의 출력
세개의 Gate로 이루어짐
LSTM의 가장 큰 아이디어는 중간에 흘러가는 cell state(T초까지의 정보의 요약)
어떤 정보가 중요한지 아닌지 판단해서 조작 후 넒겨줌
현재의 input Xt와 이전의 ouput h(t-1) > Ft
이전의 정보 중 어떤걸 버리고 살릴지
I t :현재의 정보중 어떤걸 cell state에올릴지 말지 결정 예비군
틸다 C t : 현재 정보와 I t 가지고 올릴것을 결정
ㄴㅇ
ㅇ
ㅇ
ㅇ
Gated Recurrent Unit
gate가 두개(Reset , Update)
hidden 이 곧 output
적은 parameter 로 동일한 output을 내면 generalization performance가 올라감\
Transformer
회고:
멘토링에서 논문스터디 발표가 있었던 주였습니다. 준비를 조금 미리미리 했으면좋았을텐데 조금 닥쳐서 한감이 없잖아 있지만 그래도 성공적으로 발표를 마친거같습니다. 덕분에 진도는 조금 더디게 가고있지만 NLP의 기초가 되는 논문인 Seq2Seq , Attention 에 대해서 자세히 알아볼 수 있었고, 이제 앞으로 다른 분들이 논문요약을 발표할 때도, 내가 어느정도 미리 찾아보고 정리한 다음 발표를 들으면 좀더 많이 흡수할 수 있을거라 생각합니다.