신경망 학습 경로

예전부터 머신러닝이라는 딥러닝에 푹 빠져있었는데 수학이 너무 서툴고 원리를 전혀 이해하지 못해서 관련 강좌를 많이 공부하고 관련 실험과 대회도 해봤지만, 실제로 내가 그것에 대해 얼마나 알고 있는지 알고 있습니다 거의 아무것도, 이것은 응용 프로그램에 대해 기성 네트워크를 직접 사용하거나 매개 변수를 변경하거나 특정 문제를 해결하고 마스터했다고 말할 수 있다고 말하는 것이 아닙니다. 흩어진 이해의 시간이 지나면 정식으로 체계적인 학습을 시작할 때입니다. 그래서 제가 공감하는 글들만 모아봤습니다 그냥 제가 읽고 입문하기에 좋다고 생각하는 글들입니다 범위가 굉장히 협소하지만 비교적 좋은 내용임에 틀림없습니다.
우선 신경망은 실제로 매개변수를 학습하는 반복적인 과정이며 매개변수에는 가중치 등이 포함된다는 점을 이해해야 합니다. 훈련 중 지속적인 반복을 통해 특정 유형의 문제에 대한 최적의 매개변수를 얻어 적절한 입력이 주어지면 결과가 최적의 출력에 매핑되도록 하는 것입니다.

개념과 역사

우선 여러 종류의 네트워크를 이해하십시오. Zhihu의 답변에는 이러한 시스템의 개발 역사가 포함됩니다. 신경망의 프로토타입과 역사를 이해할 수 없다면 사실 항상 안개 속에 있었습니다. 가장 기본적이고 간결한 방법 상대적으로 가장 편안하고 이것 자체가 상상만큼 어렵지 않습니다 베일을 들어 올리면 종종 자연의 아름다움을 경험할 수 있습니다.

1. "신경망" - 하나의 기사가 흩어지는 트리거

CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DNN(Deep Neural Network)의 내부 네트워크 구조는 어떻게 다른가요? - Ke Yanjun의 답변 - Zhihu 이
기사의 논리는 매우 훌륭합니다 본질이 무엇인지, 무엇이 필요한지, 이것의 문제점이 무엇인지, 문제를 해결하는 방법에 이르기까지 매우 명확합니다.
이 이해가 반드시 정확하지는 않지만 신경망의 계층적 문제를 이해하는 데 확실히 도움이 될 것입니다. 단일 계층 네트워크의 경우 실제로 선형 방정식과 동일하므로 복잡한 함수를 처리할 수 없으며 0-1 질문과 같은 가장 간단한 질문, 예를 들어 x를 입력하면 ax+b의 결과 y를 얻을 수 있습니다. 여러 x와 y(트레이닝 세트)를 제공하여 매개변수를 결정할 수 있습니다. 사실 두 개면 충분합니다(두 점이 하나의 직선을 결정함). 그러나 일부 문제의 해당 관계는 "직선"이 아니므로 "업그레이드"해야 합니다.2차 방정식의 경우 더 많은 점을 결정해야 합니다. 마음에 직선, 2차 곡선, 3차 곡선이 있으면 피팅 과정이 명확해집니다. 횟수가 많으면 극단값이 많기 때문에 훈련 세트가 상대적으로 작을 때는 일부 극단값만 판단할 수 있고 어느 극단값이 우리가 가장 원하는지 판단하기가 쉽지 않다( 그러나 네트워크는 그가 최고의 가치라고 생각합니다). 이것이 제가 지금 이해하고 있는 소위 지역 최적 솔루션 문제입니다(극단값은 로컬 최적 솔루션이고 최대값은 글로벌 최적 솔루션입니다).
언급된 기사: 네트워크 계층의 수가 증가함에 따라 "기울기 소실" 문제가 심각합니다.
이게 핵심어다 이 글의 설명이 이해가 안가서 그래디언트 소실을 검색해봤는데 예전에 간단한 이해는 좀 들었는데 아직 포괄적인 이해는 안되네요.

1) "Vanishing Gradients" - 산란을 유발하는 용어

그래디언트 소실 및 그래디언트 폭발에 대한 자세한 설명은
무엇입니까 ? 제목에서와 같이 기울기 소실과 기울기 폭발 문제입니다.
왜? 왜냐하면 신경망의 본질은 매개변수를 학습하는 것이고, 매개변수를 학습하는 방법은 역전파이기 때문입니다. 로컬 최적으로.
그래디언트 계산은 시그모이드 함수를 통해 이루어지며 도출 결과는 그림에 표시됩니다.
여기에 이미지 설명 삽입
이것은 곱셈 전송입니다. 그리고 그 결과 값의 범위가 [0~0.25] 사이임을 알 수 있으므로 진폭이 1인 신호에 대해 BP가 기울기를 역전파할 때 기울기는 각 전송 계층에 대해 원래의 0.25로 감쇠합니다. . 레이어 수가 너무 많으면 기본적으로 하위 레이어는 기울기 지수 감소 후 효과적인 훈련 신호를 수신할 수 없습니다.
여기에 이미지 설명 삽입

따라서 초기화된 네트워크 가중치 |w|가 1보다 작으면 연속 곱셈의 결과가 사라지므로 레이어가 많을 때 많은 뉴런이 거의 학습하지 않습니다.
[가격 맞추는 거랑 비슷해. 내가 100에 산 걸 맞히게 해줘.
마찬가지로 초기 가중치 w가 1보다 크면 계속해서 곱하면 기울기가 폭발합니다.
[여전히 가격 맞히기를 예로 들어서 50 맞췄는데 장난으로 500이라고 하셨고 너무 크다고 하셔서 50 맞췄습니다.
너무 많은 그라디언트가 곱해져 느리고 멈출 수 없는 감소가 발생합니다.
위의 예는 위에서 언급한 문제가 선형 방정식 문제이고 "직선" 문제이기 때문에 부적절하므로 다소 생소합니다.

무엇을 해야 합니까? 그래서 이런 곱셈 방법은 좋지 않다.도함수를 곱셈의 결과가 아닌 분류 역할을 하도록 해야 하므로 시그모이드가 개선되어 Relu, LeakyRelu, PReLU, Elu 등 다양한 활성화 함수가 등장한다. .
잘 이해가 안 되시죠?검색 계속: 활성 함수 Relu 및 leakyRelu
여기에 이미지 설명 삽입
위 그림에서 언급한 주사위는 "뉴런 사멸" 문제입니다. 내 뉴런 중 하나에서 받은 입력이 0보다 작을 때 그는 그것은 변하지 않을 것, 즉 "죽음"이고 학습률이 상대적으로 크면 결과에 가깝지 않을 수 있으며 모든 뉴런이 파업에 들어갑니다.
그리고 Leaky는 무엇을 했습니까? 음의 축 정보를 유지하십시오. <0이면 정보가 유지되지만 영향 요인(기울기\기울기)이 약간 줄어듭니다.
더 깊은 이해를 위해 다음 문서를 참조하십시오 : Relu의 이해
조금 지저분할까요?
과거를 복습하여 새로움을 배우고, 또 다른 글을 통해 정리하기 : 활성화 함수의 이해에 관한 글(Sigmoid/ReLU/LeakyReLU/PReLU/ELU) 글
은 다양한 활성화 함수에 대한 이유를 간략하게 설명하고 있으며, 또 다른 차원이기도 하다. 개발 역사의. 이를 신경망 개발에 대한 다단계 이해라고 하며 여러 수준에서 신경망을 시작합니다.

원문으로 돌아가서 우리는 지역 최적해 문제에 대한 많은 해법이 있음을 알 수 있지만 더 이상 참을 수 없습니다.

추천

출처blog.csdn.net/weixin_43938876/article/details/122086915