Hebbian principal(헵의 원리)
- 시냅스 양쪽의 뉴런이 동시에 또 반복적으로 활성화 되었다면 그 뉴런 사이의 연결강도가 강해진다
이 퀄리티가 좋아진 이유는 더 강력한 하드웨어, 큰 데이터셋, 더 커진 모델이 아닌 주로 새로운 아이디어, 알고리즘 그리고 향상된 네트워크 아키텍쳐들 때문이라는 것
GoogLeNet은 Krizhevsky아키텍쳐보다 12배 더 적은 파라미터를 사용했는데 ILSVRC 2014에서 훨씬더 정확했음
객체 감지에서 큰 성취는 더 큰 모델이나 단독의 깊은 네트워크가 아닌 깊은 아키텍쳐와 컴퓨터 비전의 시너지로부터 온건데 이건 R-cnn 알고리즘이랑 같음
또 다른 중요한 점은 우리의 알고리즘 효율성이(메모리 사용과 전기 사용에서) 모바일, 임베디드 컴퓨팅에 사용할 수 있다는 것
inception은 컴퓨터 비전에서 deep neural network architecture이다
deep은 2가지 의미를 가지는데 1) 인셉션 모듈의 형식에서 새로운 구조 2)네트워크 깊이가 깊어짐
인셉션 아키텍처의 장점은 ILSVRC 2014 분류와 감지 문제에 더 좋은 결과를 내는데 입증했음
localization
- 이미지 내에 객체가 있을때 그 위치가 어딘지 알아내는 것
단점 1. 오버피팅
- 큰사이즈의 트레이닝 셋은 파라미터수가 많다는 걸 의미하고 이말은 오버피팅된다는 것임 왜냐하면 라벨링된 예시의 수를 제한시켜야하고 => 즉, 사람이 시베리안 허스키와 에스키모 개를 구분하는 것처럼 세세하게 나눈 데이터셋을 만들 수 없고 이는 보틀넥 현상이 발생함
단점 2. 컴퓨팅 연산량의 증가
- 2개의 conv layer가 연결되어있으면 필터의 수도 증가하고 연산량의 증가로 이어진다
- 만약 대부분의 가중치가 0에 가깝게 끝난다면 컴퓨터 연산이 낭비된다
- 컴퓨터 용량은 한정되기 때문에 결가가 좋은걸 원하면 무차별적인 크기의 증가보다 컴퓨팅 연산의 효율적인 분배가 더 선호된다
만약 확률 분포가 크고, sparse deep neural network로 보여지면 마지막층의 액티베이션의 관계를 통계적으로 분석하고 매우 관련된 뉴런들을 클러스터링하면서 최고의 네트워트 연결이 만들어진다
오늘날 컴퓨팅 환경은 균일하지 않은 데이터 구조의 숫자 연산이 매우 비효율적이다
산술 연산 회수가 많이 감소하더라도 룩업, 캐시 누락의 메모리가 너무 크게 차지해서 희소 행렬(많은 항이 0으로 되어있는 행렬)로 전환하는 것은 성과를 얻지 못한다
convnet은 대칭을 깨고 학습을 향상시키려고 사용했었는데 이 트랜드는 병렬 연산을 최적화하기위해 full connected로 바뀌었다
구조의 균형과 많은 필터 갯수, 큰 배치사이즈가 효율적인 dense 연산이 가능하게 했다
변경된 인셉션 모듈의 장점
- 컴퓨팅 연산의 복잡함이 통제되지 않게 증가하는 것 없이 각각의 스테이지에서 유닛의 수가 증가하는 것을 허락함
- 시각 정보가 다양한 스케일에서 진행되었고 다른 스케일에서 동시에 특징을 추측할 수 있었음
위의 네트워크가 컴퓨터 연산의 효율성과 실용적으로 만들어졌고 그 결과로 제한된 컴퓨팅 자원과 낮은 메모리를 포함해서 개별의 디바이스에서 사용 되어졌다
실제 네트워크 층은 100개를 사용했지만 100개의 층은 머신러닝 기반 시스템에 의존했음
분류기 이전의 평균 풀링의 사용에서 구글넷은 추가의 선형층을 사용했고 라벨이 있는 세트의 네트워크에서 파인튜닝이 가능했다
하지만 위의 방법은 편했으나 주요 영향을 끼치진 않았는데 fully connected layer에서 average pooling 으로 이동이 top-1 accuracy를 대략 0.6 퍼센트만 향상시켰다
그리고 fully connected layer의 삭제 후에 드롭아웃을 사용해야했음
상대적으로 네트워크의 깊이가 커졌기 때문에 모든층에서 효율적인 방법으로 역전파 능력을 고민했다
한가지 인사이트는 중간층의 핏쳐들을 구별해야 상대적으로 낮은 네트워크의 강한 퍼포먼스를 보인다는 것이다
중간 층에 연결된 보조의 분류기를 더함으로써 우리는 낮은 층에서 구별이 가능했고 역전파에서 그레디언트 시그널이 증가했음, 그리고 추가적인 정규화도 제공되었음
이 분류기는 작은 conv network의 형태로 왔고 inception(4a), (4d) 모듈의 결과의 위에 놓여졌음
훈련 동안에는 낮아진 가중치와 함께 토탈 로스가 로스에 더해졌고 추론때는 보조의 네트워크는 사용하지 않았음
- 실제론 cpu를 사용했지만 일주일동안 최신의 gpu를 사용했을거라고 추정했다
- 훈련은 0.9 모멘텀과 함께 asynchronous stochastic gradient를 사용했고 러닝 레이트를 수정했다 추론 시간에 폴약 평균이 최종 모델을 만드는데 사용되었다
- 우리의 이미지 샘플링 방법은 한달 넘게 바뀌어왔고 이미 사용된 모델은 다른 옵션으로 훈련되었다
(옵션: 드롭아웃, 러닝레이트 같은 바뀐 하이퍼 파라미터)- 문제를 더 복잡하게 하기위해서 그 모델은 주로 상대적으로 더 작은 크롭들에서 훈련되어졌다
- 위처럼 다양한 사이즈의 이미지 패치들의 사용으로 대회 이후에 더 잘 일하는 것으로 확인했다
- 또한, 측광 왜곡이 오버피팅과 싸우는데 유용했다
- 마지막으로 우린 랜덤 보간법을 사용했다
- 유사한 깊이와 넓이의 비싼 네트워크로 인해 비슷한 결과가 기대되지만 우리는 명확한 증거를 보여준다
- sparser 아키텍처로 이동이 일반적으로 유용하고 그럴듯한 아이디어라고