신경망: 플레이그라운드 운동

첫 번째 신경망

이 실습에서는 첫 번째 작은 신경망을 학습시켜 보겠습니다. 신경망은 명시적 특성 교차를 사용하지 않고도 비선형 모델을 학습할 방법을 제공합니다.

작업 1: 주어진 모델은 두 입력 특성을 단일 뉴런으로 결합합니다. 이 모델이 비선형성을 학습하나요? 이를 실행하여 추측을 확인하세요.

작업 2: 히든 레이어의 뉴런 수를 1개에서 2개로 늘려보고 선형 활성화에서 ReLU와 같은 비선형 활성화로 변경해 보세요. 비선형성을 학습할 수 있는 모델을 만들 수 있나요? 데이터를 효과적으로 모델링할 수 있나요?

작업 3: ReLU와 같은 비선형 활성화를 사용하여 히든 레이어의 뉴런 수를 2개에서 3개로 늘려봅니다. 데이터를 효과적으로 모델링할 수 있나요? 실행마다 모델 품질이 어떻게 다른가요?

과제 4: 히든 레이어와 레이어당 뉴런을 추가하거나 삭제하여 실험을 계속 진행합니다. 또한 학습률, 정규화, 기타 학습 설정을 자유롭게 변경합니다. 사용할 수 있는 뉴런과 레이어의 최소 수는 0.177 이하입니다.

모델 크기를 늘리면 적합성이 개선되나요, 아니면 수렴 속도인가요? 이렇게 하면 좋은 모델에 수렴하는 빈도가 달라지나요? 예를 들어 다음 아키텍처를 살펴보겠습니다.

  • 뉴런 3개가 있는 첫 번째 히든 레이어입니다.
  • 뉴런 3개가 있는 두 번째 히든 레이어입니다.
  • 뉴런 2개가 있는 세 번째 히든 레이어입니다.

연습 바로 아래에 답변이 표시됩니다.



신경망 초기화

이 연습에서는 XOR 데이터를 다시 사용하지만 학습 신경망의 반복성과 초기화의 중요성을 살펴봅니다.

과제 1: 주어진 모델을 4~5회 실행합니다. 각 무료 체험을 시작하기 전에 네트워크 초기화 버튼을 눌러 새로운 무작위 초기화를 생성합니다. 네트워크 재설정 버튼은 재생 버튼 바로 왼쪽에 있는 원형 재설정 화살표입니다. 수렴을 보장하기 위해 각 시도를 최소 500단계 동안 실행합니다. 각 모델 출력은 어떤 형태로 수렴하나요? 이는 비볼록 최적화에서의 초기화 역할에 관해 어떤 의미인가요?

작업 2: 레이어와 몇몇 노드를 추가하여 모델을 약간 더 복잡하게 만들어 보세요. 작업 1의 시도를 반복합니다. 결과에 안정성이 더해지나요?

연습 바로 아래에 답변이 표시됩니다.



신경망 나선형

이 데이터 세트는 노이즈가 많은 나선형입니다. 분명히 선형 모델은 실패하지만 수동으로 정의된 특성 교차도 구성하기 어려울 수 있습니다.

작업 1: X1과 X2만 사용하여 가능한 최고의 모델을 학습시킵니다. 자유롭게 레이어와 뉴런을 추가하거나 삭제하고, 학습률, 정규화율, 배치 크기와 같은 학습 설정을 변경할 수 있습니다. 얻을 수 있는 최선의 테스트 손실은 얼마인가요? 모델 출력 표면이 얼마나 매끄럽나요?

작업 2: 신경망이 있더라도 최상의 성능을 달성하기 위해서는 어느 정도의 특성 추출이 필요합니다. 크로스 프로덕트 특성이나 sin(X1) 및 sin(X2)과 같은 기타 변환을 추가해 보세요. 더 나은 모델을 얻나요? 모델 출력이 더 매끄러워졌나요?

연습 바로 아래에 답변이 표시됩니다.