ResNet은 2015년 He Kaiming, Zhang Xiangyu, Ren Shaoqing, Sun Jian이 공동으로 제안했습니다. Residual Unit을 사용하여 152층 심층 신경망을 성공적으로 훈련했으며 ILSVRC 2015 대회에서 우승했습니다. 3.57%의 top5 오류율을 달성하면서 매개변수 개수는 VGGNet보다 적고 효과는 매우 뛰어납니다. ResNet의 구조는 초심층 신경망의 훈련을 매우 빠르게 가속화할 수 있으며, 모델의 정확도도 크게 향상되었습니다.
ResNet은 원래 이 문제에서 영감을 받았습니다. 신경망의 깊이가 계속 증가하면 성능 저하가 발생합니다. (저하) 문제가 나타납니다. 즉, 정확도가 먼저 증가한 다음 포화 상태에 도달하고 깊이를 계속 증가시키면 정확도가 감소합니다. 이는 테스트 세트의 오류가 증가할 뿐만 아니라 훈련 세트 자체의 오류도 증가하므로 과적합의 문제는 아닙니다. (추천 학습: PHP 비디오 튜토리얼)
ResNet은 새로운 아이디어를 사용합니다. ResNet의 아이디어는 네트워크 계층과 최적화 네트워크 계층이 있고, 우리가 설계한 심층 네트워크에는 중복 계층인 많은 네트워크 계층이 있는 경우가 많습니다. 그런 다음 이러한 중복 레이어가 ID 매핑을 완료하여 ID 레이어를 통한 입력과 출력이 정확히 동일하도록 할 수 있기를 바랍니다. 특히 어떤 레이어가 ID 레이어인지는 네트워크 훈련 중에 직접 결정할 수 있습니다. 원래 네트워크의 여러 레이어를 잔여 블록으로 변경합니다.
포화 정확도에 도달한 상대적으로 얕은 네트워크가 있다고 가정하고 합동 매핑 레이어에 대해 몇 가지 y=x를 추가합니다. , 적어도 오류는 증가하지 않습니다. 즉, 네트워크가 깊어질수록 훈련 세트의 오류가 증가해서는 안 됩니다. 여기서 언급한 합동 매핑을 사용하여 이전 레이어의 출력을 이후 레이어로 직접 전송한다는 아이디어는 ResNet의 영감의 원천입니다. 특정 신경망의 입력이 x이고 예상되는 출력이 H(x)라고 가정하면 입력 x를 초기 결과로 출력에 직접 전달하면 이때 학습해야 할 목표는 F(x)입니다. ) = H(x) - x. 그림에서 볼 수 있듯이 이는 ResNet 잔여 학습 단위(Residual Unit)입니다.
ResNet은 더 이상 완전한 출력 H(x)를 학습하는 것이 아니라 단지 학습 목표를 변경하는 것과 같습니다. 출력과 입력의 차이는 잔차인 H(x)-x입니다.
X는 이 잔차 블록 레이어의 입력이며 F(x)는 잔차, x는 입력임을 알 수 있습니다. F(X)는 첫 번째 레이어의 선형 변경 및 활성화 후 출력입니다. 이 그림은 잔차 네트워크에서 두 번째 레이어의 선형 변경 후 활성화 전 F(x)가 입력 값에 추가됨을 보여줍니다. 이 레이어의 X를 클릭한 다음 활성화 후 출력합니다. 두 번째 레이어 출력 값이 활성화되기 전에 X를 추가합니다. 이 경로를 바로가기 연결이라고 합니다.
ResNet의 구조를 사용한 후, 레이어 수 증가로 인해 훈련 세트에서 오류가 증가하는 현상이 ResNet 네트워크의 훈련 오류가 점차 감소하는 것을 확인할 수 있습니다. 레이어 수가 증가하면 테스트 세트의 성능도 향상됩니다. ResNet 출시 직후 Google은 ResNet의 본질을 빌려 Inception V4와 Inception ResNet V2를 제안했습니다. 이 두 모델을 융합하여 ILSVRC 데이터 세트에서 3.08%라는 놀라운 오류율을 달성했습니다. ResNet과 그 아이디어가 컨벌루션 신경망 연구에 미치는 기여는 실제로 매우 중요하며 강력한 일반화 가능성을 가지고 있음을 알 수 있습니다.
PHP 관련 기술 기사를 더 보려면 PHP 그래픽 튜토리얼 컬럼을 방문하여 알아보세요!
위 내용은 resnet 네트워크 구조의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!