이미지캡셔닝
- 이미지를 인풋으로 받고 씨엔엔에 인풋으로 넣어주고 그 출력인 벡터를 가지고 아웃풋인 캡션을 만들어낸다,
캡션이 가변길이이고 다양한 씨퀀스를 가진다.
이미지가 씨엔엔에 들어가고 여기서 나온 벡터를 알엔엔에 넣어준다.
원래는 알엔엔에 두개의 가중치 입력을 넣어주었는데
이미지 캡셔닝 알엔엔은 세번째 가중치를 추가해 주었다.
씨엔엔으로 받은 벡터를 히든스테이트에 넣어준뒤 스타트 엔드를 붙여 알엔엔에 넣어준다.
어텐션 이미지 캡셔닝 이미지캡셔닝 단점보완(서핑보드, 고양이우먼 등)
하나의 벡터가아닌 이미지의 공간별 벡터를 가진 그리드 이미지위치에대한 분포를 계산하여 분포가 출력으로 나옴 어텐션과 캡션 단어 2가지가 출력으로 나옴.
Visual Question Answering ~ Vanila RNN Gradient Flow (86 ~ 95)
이미지와 보기를 입력하면 보기중에 정답을 출력한다.
이는 CNN과 RNN으로 만들 수 있다.
CNN과 RNN에서 나온 벡터를 조합을 하면 결과가 나온다.
이미지에서 고양이에 대한 어텐션을 볼 수 있다.
멀티레이어 알엔엔 3개층의 RNN , 입력이 RNN에 들어가서 히든 스테이트가 만들어지고
이를 또 RNN에 넣고 층을 계속 쌓는다.
RNN은 보통 2~4레이어 RNN을 사용한다.
바닐라 RNN 엑스티와 에이치티마이너스1을 입력으로 해서 히든 스테이트를 쌓는다.
에이치와 에이치 티마이너스1 미분값을 계산하고 역전파로 계산을 한다.
알엔엔이 여러개 있으면 역전파 할때 많은 가중치가 개입되어 연산이 많아지는데 이는 안좋은 현상이다.
곱해지는 값이 1보다 크면 그래디언트가 너무 커져서 안좋고
1보다 작으면 점점 소실되서 안좋다.
너무커지는걸 exploding 이라하고 이를 방지하기위해 그래디언트 클리핑을한다 이는 그래디언트를 잘라주는 것이다.
정보소실을 베니싱 그래디언트를 방지하기위해서는 복잡한 알엔엔 구조로 바꾼다고 한다.
LSTM (96 ~ 끝까지)
바닐라 알엔엔 단점 해결
탄젠트를 취하기 전에 W를 곱하는데 원래 대각행렬로 줬는데 적당히 좋은 W를 취했기 때문에 대각화 가능하고 좋다.
이는 곱할때 고유치만 딱 튀어나온다. 결과는 람다에 적당한 W값이 나올것이다.
익스플로딩일때 N은 굉장히 큰 값일 것이다. 이는 W^N 인 모델이여서 W가 너무 커지는 것이고.
베니싱일때도 W^N이라 확 줄어든다.
i : g에 곱해서 g의 크기 결정
f 폴겟 게이트 이전 단게에서 넘어온 정보 ct 를 살릴지 말지 잊어버릴지 말지 : 잊고싶으면 0 살리면 1 적당한 값 줄려면 0.x
o
g : tanh니까 살릴수도있고 아예 상쇄시킬수도 있다. 어떤 값을 더할지 뺄지 , 얼마만큼의 비율로 더할지 뺄지
i f o 시그모이드 0~1사이 값
g하이포블릭 탄젠트
동그라미 도트 하다마르 도트
내적과 다르다
사이즈가 똑같은 행렬을 가지고 온다 . n,n 행렬 같은 성분 끼리 곱해준다,
[a,b],[c,d] 동그라미 도트 [e,f],[g,h] = [a*e, b*f],[c*g,d*h]
백프로파게이션할 때 시그모이드의 리니어 하지 않는 성분에 영향을 받지 않는다.
웨이트와 넌리니어에 영향을 받지않아 계산이 빠르다.
이는 CNN resnet과 LSTM과 비슷하다.
GoogLeNet (9장 37 ~ 63)
개미굴같다
22개 레이어
구글넷 문제점
인풋데이터가 11컨브 지났을때 아웃풋이 어떻게 되냐 했을때
병렬계산 후 합산 너무 복잡하다. 연산 비효율적 마지막값이 계속해서 커진다
보완점으로 보틀넥 레이어를 추가한다.
11 레이어를 추가해서 보완했다.
854밀리언을 358밀리언으로 줄였다.
보조 클래시피캐이션이 있으므로서 중간에 그레디언트가 죽는걸 방지한다.
resnet 복습한 내용
'모두의 연구소 AIFFEL 교육' 카테고리의 다른 글
CS231n 6강 Training Neural Network (0) | 2021.03.16 |
---|---|
Cs231n 9강 ResNet 복습 (0) | 2021.03.15 |
구글넷 lecture 9 (0) | 2021.03.12 |
3월 둘째주 목표 (0) | 2021.03.08 |
github viewer 사이트 (0) | 2021.03.04 |