신경 망 초 매개 변수 선택
뭐 공부 해요?
깊이 학습 모델 은 보통 무 작위 경사도 하강 알고리즘 으로 훈련 된다.무 작위 경사도 하강 알고리즘 은 많은 변형 이 있다. 예 를 들 어 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.