이 연습에서는 첫 번째 작은 신경망을 학습시켜 보겠습니다.
신경망은 신경망을 사용하지 않고 비선형 모델을
명시적 특성 교차를
사용하는 것이 좋습니다
작업 1: 주어진 모델은 두 개의 입력 특성을 결합하여
단일 뉴런으로 구성됩니다. 이 모델이 비선형성을 학습할 수 있을까요? 실행하여
알 수 있습니다.
작업 2: 히든 레이어의 뉴런 수를
선형 활성화에서 비선형 활성화로 변경해 보세요.
ReLU와 같은
기능을 예로 들 수 있습니다 비선형성을 학습할 수 있는 모델을 만들 수 있을까요? 모델링할 수 있나요?
어떻게 알 수 있을까요?
작업 3: 히든 레이어의 뉴런 수를
ReLU와 같은 비선형 활성화를 사용하여 데이터를 모델링할 수 있는가
어떻게 알 수 있을까요? 실행마다 모델 품질이 어떻게 다른가요?
작업 4: 히든 레이어를 추가하거나 삭제하여 실험 계속하기
레이어당 뉴런 수가 포함됩니다 또한 학습률은 자유롭게
정규화 등이 있습니다. 가장 작은
테스트 손실을 구하기 위해 사용할 수 있는 뉴런과 레이어의 수
0.177 이하인가요?
모델 크기를 늘리면 적합성이 개선되나요, 아니면 수렴이 얼마나 빠르게 되나요?
이로 인해 좋은 모델로 수렴되는 빈도가 변경되나요? 예를 들어
확인할 수 있습니다
뉴런 3개가 있는 첫 번째 히든 레이어입니다.
뉴런이 3개 있는 두 번째 히든 레이어.
뉴런 2개가 있는 세 번째 히든 레이어입니다.
(정답은 실습 바로 아래에 표시됩니다.)
작업 1의 답을 보려면 더하기 아이콘을 클릭하세요.
활성화가 선형으로 설정되어 있으므로 이 모델은 학습할 수 없습니다.
모든 비선형성 손실이 매우 높아 모델이 과소적합하다고 말합니다
데이터를 얻을 수 있습니다.
작업 2의 답을 보려면 더하기 아이콘을 클릭하세요.
비선형 활성화 함수는 비선형 모델을 학습할 수 있습니다. 하지만
뉴런이 2개인 단일 히든 레이어는 뉴런의 모든 비선형성을
노이즈가 없어도 손실이 큽니다.
과소적합되는 경우입니다. 이 실습은 비확정적이므로
효과적인 모델을 학습하지 못할 수 있지만 다른 실행은 꽤 잘할 것입니다.
최고의 모델도 예상과 다른 형태일 수 있습니다.
작업 3의 답을 보려면 더하기 아이콘을 클릭하세요.
플레이그라운드의 비결정적인 특성은 이 실습을 통해 빛을 발합니다. 가
뉴런이 3개인 히든 레이어 1개로도 데이터 세트를 모델링하기에 충분합니다 (존재하지 않음).
노이즈)가 있지만 모든 실행이 좋은 모델로 수렴되지는 않습니다.
XOR 함수는 반쪽 평면 (ReLU 활성화)의 조합으로 표현될 수 있으므로 뉴런 3개면 충분합니다. 이 내용은
뉴런 이미지: 개별 뉴런의 출력을 표시합니다. 좋은 모델에서는
3개의 뉴런과 ReLU 활성화 함수가 있는 경우
수직선에서 X1이 양수 또는 음수임을 감지합니다. 부호는
거의 수평선으로 된 이미지 1개가 기울기의 부호를 감지하고
X2와 대각선이 있는 이미지 1개가
상호작용하지 않습니다.
하지만 모든 실행이 좋은 모델로 수렴되지는 않습니다. 일부 실행은
뉴런이 2개 있는 모델보다 훨씬 우수하며 이 데이터에서 중복 뉴런을
있습니다.
작업 4의 답을 보려면 더하기 아이콘을 클릭하세요.
뉴런이 3개인 단일 히든 레이어는 데이터를 모델링할 수 있지만
따라서 여러 번 실행할 때 사실상 뉴런을 잃게 되고
좋은 모델입니다. 뉴런이 4개 이상인 단일 레이어는 중복성이 더 높습니다.
따라서 좋은 모델로 수렴할 가능성이 더 높습니다.
앞서 살펴본 것처럼 뉴런이 2개뿐인 단일 히든 레이어는 데이터를 모델링할 수 없습니다.
있습니다. 시도해 보면 출력 레이어의 모든 항목이
두 노드의 선으로 구성된 도형만 가능합니다. 이 경우
첫 번째 히든 레이어만 사용할 때보다 데이터 세트를 더 잘 모델링할 수 있습니다.
두 번째 레이어의 개별 뉴런은
오른쪽 상단 사분면의 출력값입니다. 추가하면서
두 번째 히든 레이어는 여전히 첫 번째 히든 레이어보다 데이터 세트를 더 잘 모델링할 수 있습니다.
단독으로 사용할 수 있는 경우 첫 번째 레이어에 노드를 추가하여
키트에 더 많은 선이 있도록 하면 두 번째 계층이
있습니다.
하지만 첫 번째 히든 레이어에 뉴런이 1개 있는 모델은 좋은 결과를
깊이와 상관없이 작동합니다. 왜냐하면 첫 번째 모델의 출력이
레이어는 한 차원 (대개 대각선)에 따라서만 변하며
충분히 모델링할 수 있습니다. 이후 레이어는 이를 보완할 수 없으므로
얼마나 복잡하냐고요. 복구가 불가능한 경우
패배했지.
작은 네트워크를 사용하려 하는 대신, 네트워크의 많은 계층이
뉴런이 많을까요? 이와 같은 간단한 문제에 대해요? 지금까지 살펴본 것처럼
레이어에는 다양한 선 기울기를 시도해 볼 수 있습니다. 두 번째
레이어를 다양한 모양으로 축적할 수 있습니다.
그 다음 층을 통해 수많은 도형이 그려집니다.
모델이 여러 층을 통해 다양한 형태를 고려하도록 함
모델이 학습을 시작할 수 있는 충분한 공간을 확보했으니
학습 세트의 노이즈에 대해 쉽게 과적합하여 이러한 노이즈가
학습 데이터의 특성에 맞추는 복잡한 형태가 아닌
일반화된 정답입니다. 이 예에서 더 큰 모델은
정확한 데이터 포인트와 일치시켜야 합니다. 극단적인 경우에는 대규모 모델이
개별 노이즈 지점을 중심으로 하는 섬을 학습할 수 있는데, 이를
기억하는 데 도움이 됩니다. 모델을 훨씬 더 크게 만들면
모델이 '소형'이 있는 단순한 모델보다 실제로 더 나쁜
문제 해결에 필요한 뉴런만 필요합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-08-22(UTC)"],[[["This exercise explores training a neural network to learn nonlinearities and model data effectively."],["Increasing the number of neurons and using nonlinear activation functions like ReLU improves model performance."],["A single hidden layer with 3 neurons using ReLU can sufficiently model the data, but model quality varies between runs."],["Deeper and wider networks risk overfitting, potentially memorizing noise instead of generalizing patterns."],["While adding layers can improve model performance, redundant layers and neurons might lead to worse results compared to a simpler, well-structured model."]]],[]]