>  기사  >  기술 주변기기  >  학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환

학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환

WBOY
WBOY앞으로
2023-10-13 16:21:03520검색

연속 학습의 목적은 연속 작업에서 지속적으로 지식을 축적하는 인간의 능력을 모방하는 것입니다. 주요 과제는 새로운 작업을 계속 학습한 후에도 이전에 학습한 작업의 수행을 유지하는 방법, 즉 파국적인 망각을 방지하는 것입니다. (파괴적 망각) . 연속 학습과 다중 작업 학습의 차이점은 후자는 모든 작업을 동시에 얻을 수 있고 모델은 동시에 모든 작업을 학습할 수 있다는 점입니다. 연속 학습에서는 작업이 하나씩 나타나며 모델은 오직 작업에 대한 지식을 배우고 새로운 지식을 배우는 과정에서 오래된 지식을 잊지 마십시오.

서던캘리포니아대학교와 Google Research는 지속적인 학습을 해결하기 위한 새로운 방법을 제안했습니다. 채널별 경량 재프로그래밍(CLR) : 고정 작업 변경되지 않은 백본에 훈련 가능한 경량 모듈을 추가함으로써 , 각 레이어 채널의 기능 맵이 다시 프로그래밍되어 다시 프로그래밍된 기능 맵이 새로운 작업에 적합하게 됩니다. 이 훈련 가능한 경량 모듈은 전체 백본의 0.6%만을 차지합니다. 각각의 새로운 작업은 자체 경량 모듈을 가질 수 있습니다. 이론적으로는 치명적인 망각 없이 무한한 새로운 작업을 지속적으로 학습할 수 있습니다. 이 논문은 ICCV 2023에 게재되었습니다.

학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환

  • 문서 주소: https://arxiv.org/pdf/2307.11386.pdf
  • 프로젝트 주소: https://github.com/gyhandy/Channel-wise-Lightweight- Reprogramming
  • 데이터 세트 주소: http://ilab.usc.edu/andy/skill102

보통 연속 학습을 해결하는 방법은 크게 정규화 기반 방법, 동적 네트워크 세 가지 범주로 나뉩니다. 방법 및 재생 방법.

  • 정규화 기반 방법은 모델이 새로운 작업을 학습하는 과정에서 매개변수 업데이트에 제한을 추가하고, 새로운 지식을 학습하면서 기존 지식을 통합하는 것입니다.
  • 동적 네트워크 방식은 특정 작업 매개변수를 추가하고 새로운 작업을 학습할 때 이전 작업의 가중치를 제한하는 것입니다.
  • 재생 방법은 새로운 작업을 학습할 때 이전 작업의 데이터 일부를 획득하여 새로운 작업과 함께 훈련할 수 있다고 가정합니다.

본 글에서 제안하는 CLR 방식은 동적 네트워크 방식이다. 아래 그림은 전체 프로세스의 흐름을 나타냅니다. 연구원은 작업 독립적인 불변 부분을 공유 작업별 매개변수로 사용하고 작업별 매개변수를 추가하여 채널 기능을 다시 코딩합니다. 동시에 각 작업에 대한 레코딩 매개변수의 훈련 양을 최소화하기 위해 연구자는 모델에서 커널의 크기를 조정하고 백본에서 작업별 지식까지 채널의 선형 매핑을 학습하여 레코딩을 구현하기만 하면 됩니다. 지속적인 학습에서는 각각의 새로운 작업을 훈련하여 경량 모델을 얻을 수 있습니다. 이 경량 모델에는 훈련 매개변수가 거의 필요하지 않지만 훈련해야 하는 총 매개변수 수는 대형 모델에 비해 매우 적습니다. 작고 가벼운 모델마다 좋은 결과를 얻을 수 있습니다

학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환

연구 동기

지속 학습은 데이터 스트림에서 학습하는 문제, 즉 특정 순서로 새로운 작업을 학습하는 데 중점을 둡니다. 이전 작업의 망각을 피하면서 획득한 지식이므로 치명적인 망각을 방지하는 방법은 지속적인 학습 연구의 주요 문제입니다. 연구자들은 다음 세 가지 측면을 고려합니다.

  • 재학습보다는 재사용: 적대적 재프로그래밍[1]은 새로운 작업을 위한 네트워크 매개변수를 다시 학습하지 않고 입력 공간을 교란하여 훈련되고 동결된 네트워크를 "재코딩"하는 방법입니다. 연구진은 '재코딩'이라는 개념을 빌려 입력 공간이 아닌 원본 모델의 매개변수 공간에서 더 가볍지만 더 강력한 재프로그래밍을 수행했다.
  • 채널 유형 변환은 두 개의 서로 다른 코어를 연결할 수 있습니다. GhostNet [2]의 저자는 기존 네트워크가 훈련 후 유사한 기능 맵을 얻을 수 있다는 것을 발견하여 새로운 네트워크 아키텍처를 제안했습니다. GhostNet: 기존 기능 맵 사용을 비교하여 메모리를 줄이기 위해 더 많은 특징 맵을 생성하는 상대적으로 저렴한 작업(선형 변경 등) 이에 영감을 받아 이 방법은 선형 변환을 사용하여 특징 맵을 생성하여 네트워크를 향상시켜 상대적으로 저렴한 비용으로 각각의 새로운 작업에 맞게 조정할 수 있습니다.
  • 경량 매개변수는 모델 분포를 변경할 수 있습니다. BPN [3]은 완전 연결 계층에 유익한 섭동 편향을 추가하여 네트워크 매개변수 분포를 한 작업에서 다른 작업으로 이동합니다. 그러나 BPN은 뉴런당 하나의 스칼라 바이어스만 사용하여 완전히 연결된 레이어만 처리할 수 있으므로 네트워크를 변경하는 기능이 제한됩니다. 대신 연구자들은 각각의 새로운 작업에서 더 나은 성능을 달성하기 위해 컨볼루션 신경망(CNN)(컨볼루션 커널에 "재코딩" 매개변수 추가)을 위한 보다 강력한 모드를 설계했습니다.

방법 설명

채널 기반 경량 녹음먼저 고정 백본을 작업 공유 구조로 사용합니다. 이는 상대적으로 다양한 데이터 세트(ImageNet-1k, Pascal VOC) 또는 의미 라벨 없이 에이전트 작업을 학습하는 자기 지도 학습 모델(DINO, SwAV)입니다. 다른 연속 학습 방법(예: 무작위로 초기화된 고정 구조를 사용하는 SUPSUP, 첫 번째 작업에서 학습한 모델을 백본으로 사용하는 CCLL 및 EFT)과 달리 CLR에서 사용하는 사전 학습된 모델은 다양한 시각적 기능을 제공할 수 있지만 이러한 시각적 기능 기능에는 다른 작업을 기록하기 위한 CLR 레이어가 필요합니다. 특히 연구원들은 채널별 선형 변환을 사용하여 원본 컨볼루션 커널에서 생성된 특징 이미지를 다시 인코딩했습니다.

학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환

사진은 CLR의 구조를 보여줍니다. CLR은 모든 컨벌루션 신경망에 적합합니다. 일반적인 컨벌루션 신경망은 컨벌루션 계층, 정규화 계층 및 활성화 계층을 포함하는 Conv 블록(잔차 블록)으로 구성됩니다.

연구원들은 먼저 사전 훈련된 백본을 수정한 다음 각 고정 콘볼루션 블록의 콘볼루션 레이어 뒤에 채널형 경량 재프로그래밍 레이어(CLR 레이어)를 추가하여 고정 콘볼루션 커널 이후의 기능을 개선했습니다. 채널과 같은 선형 변화.

그림 X가 주어지면 각 컨볼루션 커널 학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환에 대해 특징 맵을 얻을 수 있습니다. 연구원은 CLR 컨볼루션 커널을 동일한 변경 커널로 초기화했습니다(즉, 2D 컨볼루션 커널의 경우 중간 매개변수만 1이고 나머지는 0임). 학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환 이렇게 하면 초기 과정에서 원래의 고정 백본이 생성될 수 있기 때문입니다. 훈련 기능은 CLR 레이어를 추가한 후 모델에서 생성된 기능과 동일합니다. 동시에 매개변수를 저장하고 과적합을 방지하기 위해 연구원들은 컨볼루션 커널 뒤에 CLR 레이어를 추가하지 않을 것입니다. CLR 레이어는 컨볼루션 커널 뒤에만 작동합니다. CLR 이후 ResNet50의 경우 증가된 훈련 가능한 매개변수는 고정된 ResNet50 백본에 비해 0.59%에 불과합니다. 학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환지속적인 학습을 위해 학습 가능한 CLR 매개변수와 학습 불가능한 백본을 추가한 모델은 각 작업을 차례로 학습할 수 있습니다. 테스트할 때 연구원들은 테스트 이미지가 어떤 작업에 속하는지 모델에 알려줄 수 있는 작업 예측자가 있고 고정 백본과 해당 작업별 CLR 매개변수가 최종 예측을 할 수 있다고 가정합니다. CLR은 절대 매개변수 격리(각 작업에 해당하는 CLR 레이어 매개변수가 다르며 공유 백본은 변경되지 않음) 특성을 가지므로 CLR은 작업 수에 영향을 받지 않습니다학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환실험 결과학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환 데이터 세트: 연구원들은 이미지 분류를 주요 작업으로 사용했습니다. 실험실에서는 약 180만 개의 이미지와 1,584개의 카테고리로 구성된 53개의 이미지 분류 데이터 세트를 수집했습니다. 이 53개 데이터 세트에는 객체 인식, 스타일 분류, 장면 분류, 계산 및 의료 진단의 5가지 분류 목표가 포함되어 있습니다.

학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환연구원들은 대략 3가지 범주로 나눌 수 있는 13개의 기준선을 선택했습니다.

동적 네트워크: PSP, SupSup, CCLL, Confit, EFTs

정규화: EWC, online-EWC, SI, LwF

Replay: ER, DERPP

    SGD 및 SGD-LL과 같이 지속적 학습이 아닌 일부 기준선도 있습니다. SGD는 전체 네트워크를 미세 조정하여 각 작업을 학습합니다. SGD-LL은 모든 작업에 고정 백본을 사용하고 길이가 모든 작업에 대한 최대 범주 수와 동일한 학습 가능한 공유 계층을 사용하는 변형입니다.
  • 실험 1: 첫 번째 작업의 정확도
  • 재앙적인 망각을 극복하는 모든 방법의 능력을 평가하기 위해 연구원들은 새로운 작업을 학습한 후 각 작업의 정확도를 추적했습니다. 방법이 치명적인 망각에 시달리는 경우, 동일한 작업에 대한 정확도는 새로운 작업을 학습한 후 빠르게 떨어집니다. 좋은 연속 학습 알고리즘은 새로운 작업을 학습한 후에도 원래 성능을 유지할 수 있습니다. 즉, 이전 작업은 새로운 작업의 영향을 최소화해야 합니다. 아래 그림은 이 방법의 첫 번째 태스크부터 53번째 태스크까지 학습한 후 첫 번째 태스크의 정확도를 보여줍니다. 전반적으로 이 방법은 가장 높은 정확도를 유지할 수 있습니다. 더 중요한 것은 얼마나 많은 작업을 지속적으로 학습하더라도 치명적인 망각을 방지하고 원래 훈련 방법과 동일한 정확도를 유지한다는 것입니다.

두 번째 실험: 모든 작업을 완료한 후 평균 정확도 학습

아래 그림은 모든 작업을 학습한 후 모든 방법의 평균 정확도를 보여줍니다. 평균 정확도는 연속 학습 방법의 전반적인 성능을 반영합니다. 각 작업마다 난이도가 다르기 때문에 새로운 작업이 추가되면 추가된 작업이 쉬운지 어려운지에 따라 전체 작업의 평균 정확도가 오르거나 내릴 수 있습니다.

학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환

먼저 매개변수와 계산 비용을 분석해 보겠습니다

지속적인 학습을 위해서는 더 높은 평균 정확도를 얻는 것이 매우 중요하지만 좋은 알고리즘은 최대화를 희망합니다. 추가 요구 사항을 줄입니다. 네트워크 매개변수 및 계산 비용. "새 작업에 대한 추가 매개변수 추가"는 원래 백본 매개변수 양의 백분율을 나타냅니다. 본 글에서는 SGD의 계산비용을 단위로 사용하며, 다른 방식의 계산비용은 SGD의 비용에 따라 정규화하였다.

학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환

재작성된 콘텐츠: 다양한 백본 네트워크의 영향 분석

이 문서의 방법은 상대적으로 다양한 데이터 세트에 대한 지도 학습 또는 자기 지도 학습을 사용하여 사전 학습된 모델을 학습합니다. 작업과 무관한 불변 매개변수로 사용됩니다. 다양한 사전 훈련 방법의 영향을 탐색하기 위해 이 문서에서는 다양한 데이터 세트와 작업을 사용하여 훈련된 4가지 작업 독립적인 사전 훈련 모델을 선택했습니다. 지도 학습의 경우, 연구원들은 이미지 분류를 위해 ImageNet-1k 및 Pascal-VOC에서 사전 훈련된 모델을 사용했고, 자기 지도 학습을 위해 연구원들은 DINO와 SwAV라는 두 가지 방법으로 얻은 사전 훈련된 모델을 사용했습니다. 다음 표는 네 가지 방법을 사용한 사전 훈련된 모델의 평균 정확도를 보여줍니다. 모든 방법의 최종 결과가 매우 높다는 것을 알 수 있습니다. (참고: Pascal-VOC는 상대적으로 작은 데이터 세트이므로 정확도가 상대적으로 낮습니다. 낮은 점) 사전 훈련된 다양한 백본에 강력합니다.

학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환

위 내용은 학습 효율성 최적화: 0.6%의 추가 매개변수를 사용하여 기존 모델을 새로운 작업으로 전환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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