신경 망 초 매개 변수 선택

5884 단어
1. 학습 률
뭐 공부 해요?
깊이 학습 모델 은 보통 무 작위 경사도 하강 알고리즘 으로 훈련 된다.무 작위 경사도 하강 알고리즘 은 많은 변형 이 있다. 예 를 들 어 Adam, RMSProp, Adagrad 등 이다.이 알고리즘 들 은 모두 네가 학습 율 을 설정 해 야 한다.학습 율 은 작은 대량 (mini - batch) 에서 경사도 방향 에서 얼마나 멀리 이동 해 야 하 는 지 를 결정 한다.
1.2 극단 치 의 영향
학습 율 이 낮 으 면 훈련 은 더욱 믿 을 수 있 지만 최 적 화 는 비교적 긴 시간 을 소모 할 것 이다. 왜냐하면 손실 함수 의 최소 치 를 향 한 모든 걸음 길이 가 매우 작 기 때문이다.학습 율 이 높 으 면 훈련 이 전혀 수렴 되 지 않 고 손실 함수 가 계속 파동 중 이 며 심지어 발산 할 수도 있다.가중치 의 변 화 량 이 매우 커서 최적화 가 최소 치 를 넘 어 손실 함 수 를 더욱 나 빠 지게 할 수 있다.
1.3 설정 방법
훈련 은 상대 적 으로 큰 학 습 률 부터 시작 해 야 한다.처음에는 무 작위 가중치 가 최 적 치 를 멀리 하기 때문이다.훈련 과정 에서 학습 율 이 떨 어 지면 서 입자 의 가중치 갱신 을 허용 해 야 한다.
참고:https://www.jiqizhixin.com/articles/2017-11-17-2
2. 일괄 크기 batchsize
2. 1 이 뭐 예요?
일괄 크기 는 매번 신경 망 을 훈련 시 켜 모형 에 보 내 는 샘플 수 이다.합 리 적 인 범위 내 에서 큰 batch size 는 하강 방향 이 정확 할 수록 진동 이 작 을 수록 보통 수치 가 [16, 32, 64, 128] 이다.
2.2 극단 치 영향Batch_Size= 단점: 1) 데이터 세트 의 대량 증가 와 메모리 제한 에 따라 모든 데 이 터 를 한꺼번에 불 러 오 는 것 이 점점 불가능 해 집 니 다.2) Rprop 방식 으로 교체 하면 각 Batch 간 샘플링 차이 로 인해 각 경사도 수정 값 이 서로 상쇄 되 어 수정 할 수 없습니다.Batch_Size = 1 단점: 온라인 학습 을 사용 하여 매번 수정 방향 은 각 견본 의 경사도 방향 으로 수정 하고 좌충우돌 하 며 각자 의 정 치 를 하 며 수렴 하기 어렵다.
2.3 설정 방법
합 리 적 인 범위 내 에서 Batch 증가Size 는 어떤 장점 이 있 습 니까?1) 메모리 이 용 률 이 높 아 지고 행렬 곱셈 의 병행 화 효율 이 높아진다.2) epoch (전체 데이터 세트) 를 한 번 뛰 는 데 필요 한 교체 횟수 가 감소 하고 같은 데이터 양 에 대한 처리 속도 가 더욱 빨 라 집 니 다.3) 일정한 범위 내 에서 일반적으로 BatchSize 가 클 수록 정확 한 하강 방향 이 정확 해 져 훈련 진동 이 작 아진 다.
맹목적 증대 BatchSize 는 어떤 나 쁜 점 이 있 나 요?1) 메모리 이 용 률 이 높 아 졌 지만 메모리 용량 이 버 티 지 못 할 수도 있 습 니 다.2) epoch (전체 데이터 세트) 를 한 번 뛰 는 데 필요 한 교체 횟수 가 줄 어 들 고 같은 정밀도 에 이 르 려 면 시간 이 크게 증가 하여 매개 변수 에 대한 수정 도 더욱 느 려 집 니 다.  3) Batch_Size 가 어느 정도 커 졌 고 그 정확 한 하강 방향 은 거의 변 하지 않 았 다.
참고:https://blog.csdn.net/juronghui/article/details/78612653
3. 교체 횟수
교체 횟수 란 전체 훈련 집 이 신경 망 에 입력 하여 훈련 하 는 횟수 를 말한다. 테스트 오류 율 과 훈련 오류 율 의 차이 가 비교적 적 고 테스트 정확도 가 안정 되 었 을 때 (최 우수 에 이 르 렀 을 때) 현재 교체 횟수 가 적당 하 다 고 볼 수 있다.테스트 오류 가 먼저 작 아 지고 커지 면 교체 횟수 가 너무 크다 는 것 을 설명 하고 교체 횟수 를 줄 여야 한다. 그렇지 않 으 면 의합 이 나타 나 기 쉽다.
5. 함수 활성화
활성화 함수 로 신경 망 에 비 선형 요 소 를 넣 어 네트워크 가 비교적 복잡 한 문 제 를 잘 해결 할 수 있 도록 한다.참고:https://blog.csdn.net/tyhj_sf/article/details/79932893
5.1 sigmoid
그것 은 입력 의 연속 실 가 를 0 과 1 사이 의 출력 으로 바 꿀 수 있다.단점: 1) 깊이 신경 망 에서 경사도 가 역방향 으로 전 달 될 때 경사도 폭발 과 경사도 가 사라 지 는데 그 중에서 경사도 폭발 이 발생 할 확률 이 매우 낮 고 경사도 가 사라 질 확률 이 높다.2) Sigmoid 의 output 는 0 평균치 가 아니 므 로 수렴 이 느 립 니 다.batch 의 입력 은 이 문 제 를 완화 시 킬 수 있다.
5.2 tanh
이 는 Sigmoid 함수 의 제로 - centered 출력 문 제 를 해결 하 였 으 나 경사도 가 사라 지 는 문제 와 멱 연산 문 제 는 여전히 존재 합 니 다.tanh 함 수 는 중심 대칭 성 을 가지 고 대칭 성 이 있 는 2 분류 에 적합 합 니 다.
5.3 relu
간단 하지만 최근 몇 년 간 의 중요 한 성과 로 다음 과 같은 몇 가지 장점 이 있다.일부 뉴 런 은 영원히 활성화 되 지 않 아 해당 매개 변 수 를 영원히 업데이트 할 수 없다 는 뜻 이다.두 가지 주요 원인 으로 인해 이런 상황 이 발생 할 수 있다. (1) 매우 불행 한 매개 변수 가 초기 화 되 었 는데 이런 상황 은 비교적 드물다 (2) learning rate 가 너무 높 아서 훈련 과정 에서 매개 변수 가 너무 크게 업데이트 되 고 불행 하 게 도 인터넷 이 이런 상태 에 들 어 갈 수 있다.해결 방법 은 Xavier 초기 화 방법 을 사용 하고 learning rate 를 너무 크게 설정 하거나 adagrad 등 learning rate 를 자동 으로 조절 하 는 알고리즘 을 피 할 수 있 습 니 다.
5.4 relu 개선 판
Dead ReLU Problem 을 해결 하기 위해 ReLU 의 앞부분 을 αx 대신 0 으로 설정 하 자고 제안 했다. 예 를 들 어 PReLU.
5.5 활성화 함 수 를 어떻게 선택 합 니까
1) 깊이 있 는 학습 은 대량의 데 이 터 를 처리 하 는 데 많은 시간 이 필요 하고 모델 의 수렴 속도 가 특히 중요 하 다.따라서 전체적으로 보면 훈련 깊이 학습 네트워크 는 가능 한 한 zero - centered 데이터 (데이터 예비 처 리 를 통 해 실현 가능) 와 zero - centered 출력 을 사용 하도록 한다.따라서 출력 이 제로 - centered 의 특징 을 가 진 활성화 함 수 를 선택 하여 모델 의 수렴 속 도 를 가속 화해 야 한다.2) ReLU 를 사용한다 면 learning rate 설정 을 조심해 야 하 며, 네트워크 에 'dead' 뉴 런 이 많이 생기 지 않도록 주의해 야 한다. 이 문제 가 해결 되 지 않 는 다 면 Leaky ReLU, PReLU 또는 Maxout 을 사용 해 보 자. 3) sigmoid 를 사용 하지 않 는 것 이 좋다. tanh 를 시도 해 보 자. 하지만 ReLU 와 Maxout 보다 효과 가 떨 어 질 것 으로 예상 된다.
3. 최적화 기 최적화 기
공식:https://www.cnblogs.com/xiaobingqianrui/p/10756046.html 최적화 기 비교:https://blog.csdn.net/weixin_40170902/article/details/80092628
  • SGD: batch 내의 loss 평균 값 을 계산 하고 평균 값 을 이용 하여 경사도 하강 방향 을 구한다.훈련 속도 가 비교적 빠르다.단점 은 SGD 가 무 작위 로 경사도 를 선택 하 는 동시에 소음 을 도입 하여 가중치 업데이트 방향 이 정확 하지 않다 는 것 이다.이 밖 에 SGD 도 국 지적 으로 최 적 화 된 문 제 를 단독으로 극복 하지 못 했다.
  • 운동량 최적화 - Momentum: 주요 사상 은 역사 경도 정보 운동량 을 축적 하여 SGD 를 가속 화하 고 지난 번 의 경사도 와 현재 경사도 의 가중 을 새로운 경사도 로 하 는 것 이다.운동량 은 주로 SGD 의 두 가지 문 제 를 해결 합 니 다. 하 나 는 무 작위 경사도 의 방법 (도입 한 소음) 입 니 다.둘째, Hessian 매트릭스 병적 문제 (SGD 가 수렴 과정 에서 정확 한 경사도 에 비해 왔 다 갔다 하 는 것 이 큰 문제 로 이해 할 수 있다).이해 전략 은 현재 가중치 의 변화 가 지난번 가중치 의 변화 에 영향 을 받 기 때문에 작은 공이 아래로 굴 러 갈 때 관성 을 가 진 것 과 유사 하 다.
  • 운동량 최적화 - NAG: 뉴턴 가속 경사도 (NAG, Nesterov accelerated gradient) 알고리즘 은 Momentum 운동량 알고리즘 의 변종 으로 표준 운동량 에 교정 요 소 를 추가 했다.이해 전략: 먼저 지난번 의 경사도 에 따라 두 걸음 걸 은 다음 에 멈 춰 서서 다음 에 진행 할 방향 을 생각한다.
  • 자가 적응 - AdaGrad 알고리즘: 대가 함수 의 최대 경사도 가 있 는 매개 변 수 는 상응 하 게 빠 른 속도 로 떨 어 지 는 학습 율 이 있 고 작은 경사도 가 있 는 매개 변 수 는 학습 율 에 있어 상대 적 으로 작은 하락 이 있 습 니 다.가 파 른 비탈 에서 천천히 걷 고 평지 에서 큰 걸음 을 내 딛 는 셈 이다.Adagrad 의 주요 장점 은 인위적인 학습 율 을 조절 하지 않 아 도 자동 으로 조절 할 수 있다 는 것 이다.단점 은 교체 횟수 가 늘 어 나 면서 학습 율 이 낮 아 지고 결국 0 에 가 까 워 지기 때문에 신경 망 을 훈련 할 때 이 유 화 기 를 거의 사용 하지 않 는 다 는 점 이다.
  • 자가 적응 - RMSProp 알고리즘: 경사도 축적 은 지수 가중 의 이동 평균 으로 비 돌출 설정 에서 효과 가 더욱 좋 습 니 다.효과 적 이 고 실 용적 인 깊이 신경 망 최적화 알고리즘 이다.현재 그것 은 깊이 있 는 학습 종사자 들 이 자주 사용 하 는 최적화 방법 중의 하나 이다.
  • 자가 적응 - AdaDelta: AdaGrad 알고리즘 과 RMSProp 알고리즘 은 모두 전체 학습 율 을 지정 해 야 합 니 다.AdaDelta 필요 없어.모형 훈련 초기 와 중반 에 AdaDelta 는 잘 했 고 가속 효과 가 좋 으 며 훈련 속도 가 빠르다.모델 훈련 후기 에 모델 은 국부 최소 치 부근 에서 반복 적 으로 떨 린 다.
  • ① 운행 속도 에 있어 두 개의 운동량 최적화 기 Momentum 과 NAG 의 속도 가 가장 빠 르 고 그 다음은 세 개의 자가 적응 학습 율 최적화 기 AdaGrad, AdaDelta 와 RMSProp 이 며 가장 느 린 것 은 SGD 이다.② 수렴 궤적 에 있어 서 1) 두 개의 운동량 최적화 기 는 운행 속도 가 빠 르 지만 중학교 때 는 '갈림길' 이 길 었 다.2) 세 개의 자가 적응 최적화 기 중에서 Adagrad 는 초기 에 갈림길 을 걸 었 으 나 나중에 신속하게 조정 되 었 으 나 다른 두 개 에 비해 가장 긴 길 을 걸 었 다.AdaDelta 와 RMSprop 의 운행 궤적 차 이 는 많 지 않 지만, 목표 에 가 까 워 질 때 RMSProp 은 선명 한 떨 림 이 발생 한다.3) SGD 는 다른 유 틸 리 티 에 비해 가장 짧 은 길 을 걷 고 길 도 비교적 바르다.
  • 좋은 웹페이지 즐겨찾기