lab
Neural Network
한국어

신경망은 어떻게 임의의 기능을 시뮬레이션합니까?

개요

신경망이 강력한 이유는 강력한 시뮬레이션 능력에 있습니다. 이론적으로 무한히 작은 오류로 임의의 기능을 시뮬레이션할 수 있습니다.


즉, 신경망을 사용하여 임의의 기능을 구성하고 임의의 알고리즘을 얻을 수 있습니다.


직관적인 이해를 돕기 위해 여기에 몇 가지 시각적 예를 사용합니다.

단항 함수 시뮬레이션

일직선

이것은 가장 간단한 경우이며 활성화 기능이 없는 뉴런을 사용하여 시뮬레이션할 수 있습니다.

f(x)=wx+bf(x) = wx + b
ww1
bb0

w,bw, b 매개변수를 조정하여 모든 직선을 시뮬레이션할 수 있습니다.

단계 기능

sigmoid 활성화 함수가 있는 뉴런을 사용하여 시뮬레이션합니다.

ww30
bb0

ww 매개변수가 계속 증가함에 따라 신경망은 점차 함수에 접근합니다.

사각 펄스 기능

우리는 그것을 여러 단계로 나눕니다.

  1. 단일 뉴런을 사용하여 함수의 왼쪽 절반을 시뮬레이션합니다.
f1(x)=sigmoid(w1x+b1)f_1(x) = \text{sigmoid}(w_1x+b_1)
w1w_120
b1b_120
  1. 단일 뉴런을 사용하여 함수의 오른쪽 절반(거꾸로)을 시뮬레이션합니다.
f2(x)=sigmoid(w2x+b2)f_2(x) = \text{sigmoid}(w_2x+b_2)
w2w_220
b2b_2-20
  1. 다른 뉴런을 사용하여 처음 두 단계의 이미지 합성
f3(x,y)=sigmoid(w31x+w32y+b3)f_3(x, y) = \text{sigmoid}(w_{31}x + w_{32}y + b_3)
w31w_{31}10
w32w_{32}-10
b3b_3-5

얻어진 결과는 목적 함수의 좋은 근사치입니다.

기타 단항 함수

직사각형 임펄스 함수를 사용하면 적분의 원리와 마찬가지로 다른 임의의 함수를 쉽게 근사할 수 있습니다.

nn10

실험

Broken Line 미션을 완료하고 각 뉴런에 해당하는 기능을 관찰하십시오.

이진 함수의 시뮬레이션

비행기

이것은 가장 간단한 경우이며 활성화 기능이 없는 뉴런을 사용하여 시뮬레이션할 수 있습니다.

f(x,y)=w1x+w2y+bf(x, y) = w_1x + w_2y + b
w1w_10
w2w_21
bb0

w1,w2,bw_1, w_2, b의 매개변수를 조정하여 모든 평면을 시뮬레이션할 수 있습니다.

이진 단계 함수

sigmoid 활성화 함수가 있는 뉴런을 사용하여 시뮬레이션합니다.

f(x)=sigmoid(w1x+w2y+b)f(x) = \text{sigmoid}(w_1x + w_2y + b)
w1w_10
w2w_230
bb0

이진 직사각형 임펄스 함수

단항 함수의 경우와 유사하게 단계별로 구현합니다.

  1. 단일 뉴런을 사용하여 함수의 가장자리를 시뮬레이션합니다.
f1(x,y)=sigmoid(w11x+w12y+b1)f_1(x, y) = \text{sigmoid}(w_{11}x + w_{12}y + b_1)
w11w_{11}0
w12w_{12}20
b1b_120
  1. 그러면 다음 함수를 얻을 수 있습니다.
wiw_i10
wjw_j-10
bib_i-5
  1. 마지막으로 다음 기능을 합성할 수 있습니다.
w51w_{51}10
w52w_{52}-10
w53w_{53}10
w54w_{54}-10
b5b_5-15

최종 신경망 구조는 아래 그림과 같습니다.

기타 이진 함수

이진 직사각형 임펄스 함수를 사용하면 적분 원리와 마찬가지로 다른 이진 함수를 쉽게 근사할 수 있습니다.

실험

Circle 미션을 완료하고 각 뉴런에 해당하는 기능을 관찰합니다.

n-요소 함수의 시뮬레이션

원리는 동일합니다. 스스로 상상해보십시오! 😥

질문

우리는 이미 디지털 회로와 소프트웨어 프로그램 알고리즘을 가지고 있습니다. 왜 신경망이 필요한가요?

디지털 회로에 구축된 소프트웨어 프로그램은 임의의 기능을 시뮬레이션할 수도 있습니다. 그렇다면 인공 신경망을 발명해야 하는 이유는 무엇입니까?