화상 분류 알고리즘 최적화 기법

화상 분류 알고리즘 최적화 기법

종이 :와 이미지 분류를위한 트릭의 가방 길쌈 신경망
논문 링크 : https://arxiv.org/abs/1812.01187

종종 많은 세부 사항을 포함하기 때문에 많은 사람들이 어려움을 반복 용지, 몇 가지 세부 모델 결과에 지대한 영향하지만 거의 기사는 이러한 세부 사항을 설명 전에 약간의 시간이 바로이 문서를보고, 상대적으로 크다 플러스 우려의 GluonCV이되기 전에 그러므로 다음 기사를 읽을 시간을내어. 이 문서에서는 세부 사항을 조정 아마존 과학자 CNN 네트워크가 많은 실험은 ResNet, 저자 만도 원래 종이의 효과를 넘어 많은 네트워크 구조에 원래 논문의 결과에 다시 등장하지 등과 같은, 이미지 분류 알고리즘에 완료입니다 타겟 검출을위한 이미지 분할 알고리즘은 리프팅 효과가있다. : 현재, 이러한 결과는 GluonCV에서 재현 할 수는 발견 https://github.com/dmlc/gluon-cv, 아마존은 이제 복잡한 작업을 여러 이미지를 제공 논문의 결과뿐만 아니라, 깊은 학습 라이브러리를 시작 GluonCV뿐만 아니라, 매우를 제공합니다 더 일반적으로 크게 항목 심도있는 학습을위한 임계 값을 줄여, 데이터 읽기, 모델 구축 인터페이스를 사용했다. 따라서이 문서는 독자들에게 더 나은 정제 불멸에 도움이 고도로 숙련 된 엔지니어 연금술 스킬의 그룹으로 볼 수있는, 개인적인 느낌은 매우 실용적입니다.

첫째, 교육 ResNet50 네트워크의 효과를 살펴볼 수 있습니다. 현재 표 여러 공통 장비 네트워크의 효과를 비교하여, 최종 라인 ResNet-50 결과의 재생 후에 추가하여 기술 훈련의 저자 및 75.3에서 최상위 1 정밀도 (매우 명백한 다양한 콘트라스트의 원래 논문 결과 ) 79.29에 올렸다.
여기에 그림 삽입 설명

비교 실험을 수행하기 때문에, 처음 기준이 있어야 기준선 알고리즘 연관된 반복의 결과,베이스 라인 재현성 사항 섹션 방법 및 순서 데이터 전처리, 네트워크 계층 파라미터 초기화 포함 2.1 콘텐츠 논문을 참조 방법, 반복 횟수, 속도 변화 전략을 학습하지 여기를 반복합니다. 표 2는 네트워크의 기준 재현 일반적으로 사용되는 세 분류의 결과를 사용하는 방법, 그 비교의 기준이 후속 실험의 대상이 될 것이다 거의 동일한 효과를 원래 서류를 알 수있다.
여기에 그림 삽입 설명

어떻게 최적화 : 기준에 대한 소개 후, 다음 단계는이 논문의 초점은 무엇입니까? 세 부분 모델 결과를 개선하는 방법에 대해 설명 가속 모델 교육, 네트워크 구조의 최적화 및 튜닝 훈련에서 주로 전체 논문은 다음과 같은 상황이 소개되었다.

첫째, 모델 교육 섹션을 빠르게 :
이 섹션에서는, 두 가지 주요 내용이 더 큰 배치 크기의 선택, 다른 하나는 16 비트 부동 소수점 형 교육입니다.
더 큰 배치 크기는 전반적인 교육 모델을 속도를 높일 수 있습니다 선택 만 배치 크기를 증가하면 일반적으로 효과가 너무 이상하지 않습니다, 페이스 북의이 같은 현재 더 많은 연구 논문 거기이 섹션 : 정확한, Minibatch SGD 대형 :
교육 ImageNet는 1 시간에, 저자는 키를 여러 솔루션을 요약 :
1, 학습 속도를 증가, 더 큰 배치 크기는 전체 데이터 세트를 계산 기울기에 따라 데이터의 각 배치에 가까운 의미하기 때문에 (수학적으로 말하면 차이가 작다), 그래서 업데이트가 더 정확한 방향이 때, 단계가 속도가 여러 번 원래 배치 크기로 일반적으로 수정에서, 더 큰 수 있습니다, 다음 초기 학습 속도는 원본을 수정해야 여러 번.
2, 워밍업의 이유를 사용하는 것입니다 수치 불안정하는 경향이 더 큰 학습 속도를 사용하기 시작하면 네트워크의 매개 변수, 임의의 초기화이기 때문에, 리드 신기원 (워밍업)를 배울 수있는 교육의 수가 적은. 교육 과정의 기본적인 안정성은 초기 학습 속도 원래 훈련을받은을 설정하는 데 사용할 수 있습니다 때까지 기다립니다. 예를 들면, 선형으로 증가 워밍업 전략을 구현하는 프로세스에 사용되는, 초기 학습율 예열 위상이 0, 트레이닝 예열 단계가 가정 m 데이터 배치의 총 (배치 다섯 에포크의 m 총을 실현)가 필요하다고 가정 초기 학습 레이트 트레이닝 단계는 학습 속도가 나는 L / m * 일괄로 설정되고, L이다.
3, γ 잔류 블록 파라미터는 각 층에 대해 초기화하는 단계, 우리는 γ 알고 마지막 BN 0, β 파라미터 BN 층 입력 정규화 된 선형 변환, 즉 γx ^ + β, γ- 일반적으로 사용되고 매개 변수가 0이 교육 모델에 더 도움이되는 저자가 초기화됩니다 믿고 1로 초기화된다.
4없고 바이어스 파라미터 중량 감쇠 동작 중량 감쇄 주요 역할은 (정규화의 L2는 네트워크 계층의 매개 변수 매끄럽게되도록 예정) 환원 모델 overfitting 달성 (중량 바이어스 포함)은 네트워크 계층의 매개 변수에 의해 구속 될 수행 효과.

낮은 정밀도 (16 비트 부동 소수점)을 사용하면 훈련이 가속 수준을 완료에서 값. 입력 전류 깊이 학습 네트워크의 대부분, 네트워크 매개 변수 일반적으로, 네트워크 출력은 32 비트 부동 소수점, 그리고 당신이 사용할 수있는 경우 이제 GPU의 반복 갱신으로, (예 : V100로 (16) 부동 소수점 모델 교육 지원) 훈련을위한 16 비트 부동 소수점 매개 변수, 그것은 매우 중요한 조치의 교육을 촉진하는 교육 모델을, 속도를 높일 수 있지만, 지금은 단지 V100은 교육을 지원해야한다.

그렇다면 둘의 효과를 최적화하기 위해? 표 3은 더 큰 배치 크기 및 훈련의 16 비트 부동 소수점 결과를 사용하는 것입니다, 당신은 원래의 기준을 확인하고 훈련 속도를 향상시키기 위해 비교 수있는 것은 매우 명백하다, 효과, 특히 MobileNet을 향상시키기 위해 특정있다.
여기에 그림 삽입 설명

비교 실험 상세한 기준은 표 4를 할 수있다.
여기에 그림 삽입 설명

둘째, 네트워크 최적화 부분 :
이 섹션의 최적화 ResNet의 일례이며, ResNet 그림 1은 간단한 구조로 입력 줄기의 관점에서, 네트워크의 구조의 개략도이며, 네 단계의 출력 부와, 각 스테이지 입력 줄기 두 번째 칼럼의 내용은 세번째 열의 각 레지 듀얼 블록의 구조를 도시 나타내고, 그 전체 그림이 매우 분명.
여기에 그림 삽입 설명

关于residual block的改进可以参考Figure2,主要有3点。
1、ResNet-B,改进部分就是将stage中做downsample的residual block的downsample操作从第一个11卷积层换成第二个33卷积层,如果downsample操作放在stride为2的11卷积层,那么就会丢失较多特征信息(默认是缩减为1/4),可以理解为有3/4的特征点都没有参与计算,而将downsample操作放在33卷积层则能够减少这种损失,因为即便stride设置为2,但是卷积核尺寸够大,因此可以覆盖特征图上几乎所有的位置。
2、ResNet-C,改进部分就是将Figure1中input stem部分的77卷积层用3个33卷积层替换。这部分借鉴了Inception v2的思想,主要的考虑是计算量,毕竟大尺寸卷积核带来的计算量要比小尺寸卷积核多不少,不过读者如果仔细计算下会发现ResNet-C中3个33卷积层的计算量并不比原来的少,这也是Table5中ResNet-C的FLOPs反而增加的原因。
3、ResNet-D,改进部分是将stage部分做downsample的residual block的支路从stride为2的1
1卷积层换成stride为1的卷积层,并在前面添加一个池化层用来做downsample。这部分我个人理解是虽然池化层也会丢失信息,但至少是经过选择(比如这里是均值操作)后再丢失冗余信息,相比stride设置为2的1*1卷积层要好一些。
여기에 그림 삽입 설명

最终关于网络结构改进的效果如Table5所示,可以看出在效果提升方面还是比较明显的。
여기에 그림 삽입 설명

三、模型训练调优部分
这部分作者提到了4个调优技巧:
1、学习率衰减策略采用cosine函数,这部分的实验结果对比可以参考Figure3,其中(a)是cosine decay和step decay的示意图,step decay是目前比较常用的学习率衰减方式,表示训练到指定epoch时才衰减学习率。(b)是2种学习率衰减策略在效果上的对比。
여기에 그림 삽입 설명

2、采用label smoothing,这部分是将原来常用的one-hot类型标签做软化,这样在计算损失值时能够在一定程度上减少过拟合。从交叉熵损失函数可以看出,只有真实标签对应的类别概率才会对损失值计算有所帮助,因此label smoothing相当于减少真实标签的类别概率在计算损失值时的权重,同时增加其他类别的预测概率在最终损失函数中的权重。这样真实类别概率和其他类别的概率均值之间的gap(倍数)就会下降一些,如下图所示。
여기에 그림 삽입 설명

3、知识蒸馏(knowledge distillation),这部分其实是模型加速压缩领域的一个重要分支,表示用一个效果更好的teacher model训练student model,使得student model在模型结构不改变的情况下提升效果。作者采用ResNet-152作为teacher model,用ResNet-50作为student model,代码上通过在ResNet网络后添加一个蒸馏损失函数实现,这个损失函数用来评价teacher model输出和student model输出的差异,因此整体的损失函数原损失函数和蒸馏损失函数的结合:
여기에 그림 삽입 설명
其中p表示真实标签,z表示student model的全连接层输出,r表示teacher model的全连接层输出,T是超参数,用来平滑softmax函数的输出。

사용 호환 문제 트레이닝 모드는, 각각의 두 개의 입력 영상을 판독하는 경우 4 도입 호환 문제가 실제로 호환 문제 향상 모드 데이터이고, 그것은 (XI, 일)에 의해 추정된다 (XJ는, YJ)는 다음 두 나타내며 수식 새 이미지 (X, Y)를 합성 할 수있다,이 새로운 이미지로 훈련, 더 획기적인 교육에 관심을 지불해야하는 경우 교육 모델을 이런 식으로. 수식의 λ는 범위 [0,1]에서, 합성의 비중을 조정하기 위해 사용되는 슈퍼 파라미터이다.
여기에 그림 삽입 설명

표 6도 등을 조정하기위한 네 가지 실험 기술의 최종 결과.
여기에 그림 삽입 설명

표 8에 나타낸 바와 같이 마지막으로, 이들 저자는 또한 효과적인 작업 등 다른 이미지 최적화 알고리즘 구분 점을 입증 같은 표적 탐지와 같은 작업은, 화상을 볼 수있는 것과 동일한 데이터 세트 ImageNet 데이터 VOC에서 최고 성능 분류 알고리즘 세트는 마지막 성능을 가지고있다.
여기에 그림 삽입 설명

표 9에 나타낸 바와 같이 또한 의미 분할 작업은 유사한 전이 효과를 갖는다.
여기에 그림 삽입 설명
전반적으로,이 논문은 또한 개선 된 의미있는 결과를 볼 수있는 개별 데이터 세트에 대한 마이그레이션의 사용을 재현 최적화 모델의 비밀 연금술을 제공합니다, 정말 아주 실용적입니다.

추천

출처www.cnblogs.com/yumoye/p/11348915.html