>  기사  >  기술 주변기기  >  ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

WBOY
WBOY앞으로
2023-04-11 21:40:011538검색

Google이 Vision Transformer(ViT)를 제안한 이후 ViT는 점차 많은 시각적 작업의 기본 백본이 되었습니다. ViT 구조를 통해 SoTA는 이미지 분류, 분할, 감지, 인식 등을 포함한 많은 시각적 작업에 대해 더욱 개선되었습니다.

그러나 ViT 훈련은 쉽지 않습니다. 더 복잡한 훈련 기술이 필요할 뿐만 아니라 모델 훈련에 필요한 계산량이 이전 CNN보다 훨씬 더 많은 경우가 많습니다. 최근 싱가포르 Sea AI LAB(SAIL) 연구팀과 북경대학교 ZERO Lab 연구팀은 절반의 계산량으로 ViT 훈련을 완료할 수 있는 새로운 심층 모델 최적화 프로그램 Adan을 공동으로 제안했습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

문서 링크: https://arxiv.org/pdf/2208.06677.pdf

코드 링크: ​https://github.com/sail-sg/Adan​

또한 동일한 양의 계산으로 Adan은 다양한 시나리오(CV, NLP, RL 포함), 다양한 학습 방법(지도 및 자체 지도) 및 다양한 네트워크 구조/알고리즘(Swin)에서 수행할 수 있습니다. , ViT, ResNet, ConvNext, MAE, LSTM, BERT, Transformer-XL, PPO 알고리즘) 모두 성능 향상을 달성했습니다.

코드, 구성 파일 및 교육 로그는 모두 오픈 소스입니다.

심층 모델의 훈련 패러다임 및 최적화

ViT의 도입으로 심층 모델의 훈련 방법은 점점 더 복잡해졌습니다. 일반적인 훈련 기술에는 복잡한 데이터 향상(예: MixUp, CutMix, AutoRand), 레이블 처리(예: 레이블 평활화 및 노이즈 레이블), 모델 매개변수의 이동 평균, 무작위 네트워크 깊이, 드롭아웃 등이 포함됩니다. 이러한 기술을 혼합하여 적용함으로써 모델의 일반화 및 견고성이 향상되었지만, 그에 따라 모델 훈련의 계산 복잡도도 점점 더 커지고 있습니다.

ImageNet 1k에서는 훈련 Epoch 수가 ResNet에서 제안한 90개에서 ViT 훈련에 일반적으로 사용되는 300개로 늘어났습니다. MAE 및 ViT와 같은 일부 자기 지도 학습 모델의 경우에도 사전 학습 에포크 수가 1.6k에 도달했습니다. 훈련 시대의 증가는 훈련 시간이 크게 연장됨을 의미하며, 이는 학문적 연구나 산업적 구현에 드는 비용을 급격히 증가시킨다. 현재 일반적인 해결책은 훈련 배치 크기를 늘리고 병렬 훈련을 지원하여 훈련 시간을 줄이는 것입니다. 그러나 그에 수반되는 문제는 배치 크기가 크면 성능 저하를 의미하는 경우가 많으며 배치 크기가 클수록 더 분명해진다는 것입니다. 그 상황.

이는 주로 배치 크기가 증가함에 따라 모델 매개변수 업데이트 수가 급격히 감소하기 때문입니다. 현재의 최적화 프로그램은 복잡한 훈련 패러다임 하에서 적은 수의 업데이트로 모델의 신속한 훈련을 달성할 수 없으며, 이는 모델 훈련 에포크 수의 증가를 더욱 악화시킵니다.

그렇다면 더 적은 수의 매개변수 업데이트로 심층 모델을 더 빠르고 효과적으로 훈련할 수 있는 새로운 최적화 프로그램이 있습니까? 훈련 시대의 수를 줄이는 동시에 배치 크기 증가로 인한 부정적인 영향도 완화할 수 있습니까?

임펄스 무시

옵티마이저의 수렴 속도를 높이기 위한 가장 직접적인 방법은 임펄스를 도입하는 것입니다. 최근 몇 년 동안 제안된 딥 모델 최적화 프로그램은 모두 Adam에서 사용된 임펄스 패러다임을 따릅니다. - Heavy ball method:

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

여기서 g_k는 랜덤 노이즈, m_k는 순간, eta는 학습 속도입니다. Adam은 m_k의 업데이트를 누적 형식에서 이동 평균 형식으로 변경하고 학습률을 확장하기 위해 2차 모멘트(n_k)를 도입했습니다. 즉,

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

그러나 Adam이 원래 ViT 교육에 실패함에 따라 개선된 버전인 AdamW는 점차 ViT 및 심지어 ConvNext 교육을 위한 첫 번째 선택이 되었습니다. 그러나 AdamW는 Adam의 임펄스 패러다임을 변경하지 않으므로 배치 크기가 4,096을 초과하면 AdamW가 훈련한 ViT의 성능이 급격히 떨어집니다.

전통적인 볼록 최적화 분야에서 헤비 볼 방식만큼 유명한 임펄스 기법이 있습니다. - Nesterov 임펄스 알고리즘:

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

Nesterov 임펄스 알고리즘은 Smooth에서 좋은 성능을 발휘합니다. 일반적으로 볼록 문제는 무거운 공 방법보다 이론적 수렴 속도가 더 빠르며 이론적으로 더 큰 배치 크기를 견딜 수 있습니다. 네스테로프 알고리즘은 Weighted Ball 방식과 달리 현재 지점에서의 기울기를 계산하지 않고 임펄스를 이용하여 외삽점을 찾은 후 이 지점에서 기울기를 계산한 후 임펄스를 누적한다.

외삽점은 Nesterov 알고리즘이 현재 점 주변의 기하학적 정보를 미리 인식하는 데 도움이 될 수 있습니다. 이 특성으로 인해 Nesterov 임펄스는 복잡한 훈련 패러다임 및 모델 구조(예: ViT)에 더 적합합니다. 이는 단순히 과거 임펄스에 의존하여 날카로운 로컬 최소점을 우회하는 것이 아니라 업데이트된 방향을 미리 관찰하여 조정하기 때문입니다.

Nesterov 임펄스 알고리즘에는 몇 가지 장점이 있지만 딥 옵티마이저에서는 거의 적용 및 탐색되지 않았습니다. 주된 이유 중 하나는 Nesterov 알고리즘이 외삽 지점에서 기울기를 계산하고 이를 현재 지점에서 업데이트해야 하기 때문에 이 기간 동안 외삽 지점에서 여러 모델 매개변수를 다시 로드하고 인공적인 역전파(BP)가 필요합니다. 이러한 불편함은 심층 모델 최적화 프로그램에서 Nesterov 임펄스 알고리즘의 적용을 크게 제한합니다.

Adan 옵티마이저

다시 작성된 Nesterov 임펄스를 적응형 최적화 알고리즘과 결합하고 분리된 가중치 감소를 도입하여 최종 Adan 옵티마이저를 얻을 수 있습니다. 외삽점을 사용하면 Adan은 주변의 기울기 정보를 미리 인식할 수 있어 날카로운 로컬 최소 영역에서 효율적으로 탈출하여 모델의 일반화를 높일 수 있습니다.

1) 적응형 Nesterov 임펄스

Nesterov 임펄스 알고리즘의 다중 모델 매개변수 오버로드 문제를 해결하기 위해 연구원들은 먼저 Nesterov를 다시 작성했습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

, 재작성된 네스테로프 임펄스 알고리즘은 두 알고리즘의 반복점을 서로 변환할 수 있으며 최종 수렴점은 동일합니다. 기울기의 미분 항을 도입함으로써 외삽 지점에서 수동 매개변수 과부하 및 인위적인 BP를 피할 수 있음을 알 수 있습니다.

재작성된 Nesterov 임펄스 알고리즘을 적응형 클래스 최적화 프로그램과 결합합니다. m_k 업데이트를 누적 형식에서 이동 평균 형식으로 바꾸고 2차 모멘트를 사용하여 학습률을 확장합니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

이제 우리는 Adan 알고리즘의 기본 버전을 얻었습니다.

2) 기울기 차이의 임펄스

m_k의 업데이트는 기울기와 기울기 차이를 결합하는 것을 확인할 수 있지만 실제 시나리오에서는 두 항목을 서로 다른 물리적으로 처리해야 하는 경우가 많습니다. 의미를 별도로 나타내기 때문에 연구자들은 그라디언트 차이의 임펄스 v_k를 도입했습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

여기서 그라디언트의 임펄스와 그 차이의 임펄스에 대해 서로 다른 임펄스/평균 계수가 설정되었습니다. 그래디언트 차이 항은 인접한 그래디언트가 일치하지 않을 때 최적화 프로그램의 업데이트 속도를 늦출 수 있고, 반대로 그래디언트 방향이 일관되면 업데이트 속도를 높일 수 있습니다.

3) 분리된 체중 감소

L2 가중치 정규화를 사용한 목적 함수의 경우 현재 널리 사용되는 AdamW 최적화 프로그램은 L2 정규화와 훈련 손실을 분리하여 ViT 및 ConvNext에서 더 나은 성능을 달성했습니다. 그러나 AdamW가 사용하는 디커플링 방법은 경험적 방법에 편향되어 있으며 현재 수렴에 대한 이론적 보장은 없습니다.

L2 규칙성을 분리한다는 아이디어를 바탕으로 Adan에도 분리된 가중치 감소 전략이 도입되었습니다. 현재 Adan의 각 반복은 최적화 목적 F의 일부 1차 근사를 최소화하는 것으로 볼 수 있습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

F의 L2 가중치 정규화가 너무 간단하고 부드럽기 때문에 이를 수행할 필요가 없습니다. 1차 근사. 따라서 훈련 손실에 대한 1차 근사만 만들고 L2 가중치 규칙성을 무시하면 Adan의 마지막 반복은 다음과 같습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

흥미롭게도 AdamW의 업데이트 기준은 다음과 같습니다. 학습률 eta가 0에 가까울 때 A 1차 근사의 Adan 업데이트 기준입니다. 따라서 원래의 휴리스틱 개선이 아닌 근접 연산자 관점에서 Adan이나 심지어 AdamW에게도 합리적인 설명이 제공될 수 있습니다.

4) Adan Optimizer

두 가지 개선 사항 2)와 3)을 Adan 기본 버전에 결합하면 다음과 같은 Adan Optimizer를 얻을 수 있습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

Adan은 적응형 최적화 프로그램, Nesterov 임펄스 및 분리된 가중치 감소 전략의 장점을 결합하고 더 큰 학습 속도와 배치 크기를 견딜 수 있으며 모델 매개변수의 동적 L2 정규화를 구현할 수 있습니다.

5) 수렴 분석

여기에서는 복잡한 수학적 분석 과정을 건너뛰고 결론만 제시합니다.

정리: 두 종류의 Hessian-smooth 조건이 주어지거나 주어지지 않습니다. 이러한 상황에서 Adan 최적화 프로그램의 수렴 속도는 볼록하지 않은 확률론적 최적화 문제에 대해 알려진 이론적 하한에 도달할 수 있으며 이 결론은 분리된 가중치 감소 전략에서도 여전히 유효합니다.

실험 결과

1. CV 시나리오

1) 지도 학습 - ViT 모델

ViT 모델의 경우, 연구원들은 각각 ViT 및 Swin 구조에서 테스트했습니다. 성능.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

예를 들어 ViT-small, ViT-base, Swin-tiny 및 Swin-base에서 Adan은 SoTA 최적화 프로그램에 가까운 결과를 얻기 위해 컴퓨팅 리소스의 절반만 소비하는 것을 볼 수 있습니다. 동일한 계산량 하에서 Adan은 두 ViT 모델 모두에서 큰 이점을 보여줍니다.

또한 Adan의 성능은 대규모 배치 크기에서도 테스트되었습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

Adan은 다양한 배치 크기에서 잘 수행되는 것을 볼 수 있으며 상대적으로 대규모 배치 크기에 맞게 설계되었습니다. LAMB)에도 확실한 장점이 있습니다.

2) 지도 학습 - CNN 모델

훈련하기가 더 어려운 ViT 모델 외에도 연구원들은 고전적인 ResNet 및 고급 ConvNext를 포함하여 비교적 적은 수의 날카로운 로컬 최소점을 사용하여 CNN 모델에서 Adan의 성능을 테스트했습니다. 결과는 다음과 같습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

ResNet이든 ConvNext이든 Adan은 훈련 에포크의 약 2/3 이내에 SoTA 이상의 성능을 달성할 수 있음을 확인할 수 있습니다.

3) 비지도 학습

비지도 학습 프레임워크에서 연구원들은 새로 제안된 MAE에서 Adan의 성능을 테스트했습니다. 결과는 다음과 같습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

지도 학습의 결론에 따라 Adan은 원래 SoTA 최적화 프로그램과 같거나 심지어 능가하는 계산량의 절반만 소비하며 훈련 에포크가 작아질수록 Adan의 이점은 더 커집니다. .. 더 분명합니다.

2. NLP 시나리오

1) 지도 학습

NLP의 지도 학습 작업에서 클래식 LSTM과 고급 Transformer-XL에 대한 Adan의 성능을 관찰하세요.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.

Adan은 위의 두 네트워크에서 일관된 우위를 보여주었습니다. 그리고 Transformer-XL의 경우 Adan은 기본 Adam 최적화 프로그램을 훈련 단계 수의 절반으로 묶었습니다.

2) 비지도 학습

NLP 시나리오에서 비지도 작업에 대한 Adan의 모델 훈련을 테스트하기 위해. 연구원들은 BERT를 처음부터 훈련했습니다. 1000,000번의 사전 훈련 반복 후 Adan 훈련 모델의 성능은 GLUE 데이터 세트의 7개 하위 작업에서 테스트되었으며 결과는 다음과 같습니다. 테스트된 7개 단어 및 문장 분류 작업에서 큰 이점을 보여줍니다. 일부 하위 작업(예: RTE, CoLA 및 SST-2)에 대해 Adan이 훈련한 BERT 기반 모델의 결과가 Adam이 훈련한 BERT-large를 초과했다는 점은 언급할 가치가 있습니다.

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다. III.

연구원들은 RL에서 흔히 사용되는 PPO 알고리즘의 옵티마이저를 Adan으로 교체하고 MuJoCo 엔진의 4개 게임에서 Adan의 성능을 테스트했습니다. 4개의 게임에서 Adan을 네트워크 최적화 도구로 사용하는 PPO 알고리즘은 항상 더 높은 보상을 얻을 수 있습니다.

Adan은 RL 네트워크 훈련에서도 큰 잠재력을 보여줍니다.

결론 및 전망

ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.Adan 옵티마이저는 현재의 딥 모델 옵티마이저에 새로운 임펄스 패러다임을 도입합니다. 더 적은 수의 업데이트로 복잡한 훈련 패러다임 하에서 모델을 빠르게 훈련할 수 있습니다.

실험에 따르면

Adan은 계산량의 1/2~2/3만으로 기존 SoTA 옵티마이저와 동일할 수 있습니다.

Adan은 여러 시나리오(CV, NLP, RL 포함), 여러 훈련 방법(감독 및 자체 감독) 및 다양한 네트워크 구조(ViT, CNN, LSTM, Transformer 등)에서 뛰어난 성능을 입증했습니다. 큰 성능 이점 . 또한, Adan 옵티마이저의 수렴 속도는 비볼록 확률론적 최적화에서 이론적인 하한에 도달했습니다.

위 내용은 ViT와 MAE를 교육하면 계산량이 절반으로 줄어듭니다! Sea와 Peking University는 심층 모델에 사용할 수 있는 효율적인 옵티마이저 Adan을 공동 제안했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제