https://www.youtube.com/watch?v=-bvTzZCEOdM&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=12

C4W2L01 Why look at case studies?

image

자주 사용되는 cnn 종류를 보여주고 있다.


https://www.youtube.com/watch?v=dZVkygnKh1M&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=13

C4W2L02 Classic Network

image
image
image


https://www.youtube.com/watch?v=ZILIbUvp5lk&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=14

C4W2L03 Resnets

residual block 바로 다음 단계나 여러 단계를 스킵하고 나갈수 있는 알고리즘이다.

image
image

residual block 이 없는 network를 plain network라고 한다. resnet은 layer수가 증가해도 training error가 증가 하지 않는다.


https://www.youtube.com/watch?v=RYth6EbBUqM&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=15

C4W2L04 Why ResNets Work

image

a l layer에서 a l+2 로 진행하는 과정에서 그사이의 a l+1의 weights, biased constant가 0인경우 바로 a l이 바로 전달 되므로 많은 수의 layers를 가진 network라도 성능이 저하 되지 않는 것 같다.  identity function is easy for residual block to learn

image

중간 중간에 pooling layer를 통해 depth가 조정된다.


https://www.youtube.com/watch?v=c1RBQzKsDCk&index=16&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF

C4W2L05 Network In Network

image

그림 하단 6 * 6 * 32 과 1 * 1 * 32 처럼 우선 channel 수는 맞춰준다. 각 대응하는 요소에 1을 곱하고 전부를 더해 하나의 값을 얻는다. 즉 여러 channel의 데이터를 압축해서 하나의 값으로 만든다. 이런 filter의 갯수를 여럿 만들수도 있다. 이런경우 32 channel의 데이터가 filter갯수 만큼의 channel로 바뀌게 된다. 즉 filter가 10개면 10 channel로 바뀌게 된다. one by one convolution을 nested network라고 하기도 한다. one by one convolution은 channel의 변경에 유용하게 사용된다. fully connected layer와 기능이 비슷하지만 같지는 않다.  

참고 자료) one by one convolution https://youtu.be/UIojaQy8SFQ

https://stackoverflow.com/a/39367644/3151712

image

192 에서 축소되어서 32로 만들수도 있고 같은 크기를 유지할수도 있다.


https://www.youtube.com/watch?v=C86ZXvgpejM&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=17

C4W2L06 Inception Network Motivation

image
image

inception module을 이용한 방법의 문제는 계산작업에 많은 비용이 든다는 것이다.

위 그림을 설명하면 cell 이 28 * 28 * 32 이므로 계산횟수는 28 * 28 * 32인데 각 cell은 5 * 5 필터와 본래 데이터 하나하나의 곱의 합이다. 그런 channel이 192개 이므로 5 * 5 * 192를 최종적으로 곱해준다.

그 해결 방법은 one by one convolution을 이용하는 것이다.

image


https://www.youtube.com/watch?v=KfV8CJh7hE0&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=18

C4W2L07 Inception Network

image
image

inception network는 여러개의 inception module 로 구성된다.


https://www.youtube.com/watch?v=cFFu__mcoIw&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=19

C4W2L08 Using Open Source Implementation

이미 개발되어있는 알고리즘 , 모델을 이용하여 개발하는 과정의 간략한 설명


https://www.youtube.com/watch?v=FQM13HkEfBk&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=20

C4W2L09 Transfer Learning

image

이미 다른 사람이 training한 model을 이용하는 것을 transfer라고 한다. 때때로 framework는 trainableparameter , freeze 변수를 통해 training할 layer를 설정할수 있다. 이를 이용해서 전체를 freeze 해 놓고 필요한 부분만 training할수 있다. 또 일부를 freeze하고 나머지는 training할수도 있다. 또 전부를 training할수도 있다. 각자 경우에 따라 선택한다. 


https://www.youtube.com/watch?v=JI8saFjK84o&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=21

C4W2L10 Data Augmentation

여러형태로 데이터를 변형해서 다수의 데이터를 얻어내는 방법을 설명한다.

기존의 color shifting방법도 있고 alex net이 개발한 pca color agumentation 방법도 있다.


https://www.youtube.com/watch?v=c3zw6KI6dLc&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=22

C4W2L11 State of Computer Vision

그림 상단은 현재 상태에서의 각 분야별 데이터양 정도. speech recognition이 많은 데이터를 가지고 있고 object detection 분야는 데이터가 적다. 데이터가 적은 경우 hand engineering 작업이 더 필요하다. 이를 통해 부족한 데이터 부분을 보완한다.

여러개의 네트워크를 이용 각각 처리한 다음 결과를 종합함으로써 성능을 개선할수 있다. 그러나 production에서는 자원을 많이 필요로 하므로 사용하지 않는다.

하나의 이미지를 변형해서 총 10개의 크롭된 이미지를 얻는 방법을 설명한다. 이도 production에서는 사용하지 않는다.

data researcher가 아닌경우 기존의 network, model을 이용하는 것이 나을수 있다. 

Comments are closed.

Post Navigation