Хиймэл нейроны сүлжээ нь универсаль ойролцоологч мөн

Өмнөх постоор бид хиймэл нейроны сүлжээ гэж юу болох талаар анхны ойлголттой болсон. Одоо энд хэрэг болох хэсгийг нь товч дурдвал, M ширхэг давхаргаас тогтсон хиймэл нейроны сүлжээг

z^{(k)}=\sigma\big(W^{(k)}z^{(k-1)}+b^{(k)}\big),\qquad k=1,\ldots,M

гэсэн рекуррент харьцаагаар өгч болно. Үүнд

  • z^{(0)}=x\in\mathbb{R}^n нь оролтын хувьсагч (n=N_0)
  • z^{(k)}\in\mathbb{R}^{N_k} нь k дугаар давхаргын гаралт
  • y=z^{(M)}\in\mathbb{R}^{m} нь сүлжээний гаралт (m=N_M)
  • N_k нь k дугаар давхаргын өргөн буюу уг давхарга дахь нейроны тоо
  • M нь сүлжээний гүн буюу нийт давхаргын тоо
  • W^{(k)}=[w^{(k)}_{ij}]\in\mathbb{R}^{N_{k-1}\times N_k} нь k дугаар давхаргын жингийн матриц гэгдэх матриц
  • b^{(k)}=[b^{(k)}_j]\in\mathbb{R}^{N_k} нь уг давхаргын хазайлтын вектор гэгдэх вектор
  • \sigma(t)=1/(1+e^{-t}) нь нейроны өдөөгч функц гэгдэх функц бөгөөд, вектор дээр үйлчлэхдээ байгуулагч тус бүрээр нь үйлчлэнэ гэж үзнэ.

Дээрх харьцааг байгуулагчаар нь задалж бичвэл

z^{(k)}_j=\sigma\big(w^{(k)}_{j1}z^{(k-1)}_1+\ldots+w^{(k)}_{jN_{k-1}}z^{(k-1)}_{N_{k-1}}+b^{(k)}_j\big),\qquad j=1,\ldots,N_k

болох ба, z^{(k-1)}\mapsto z^{(k)}_j гэсэн функцийг k дугаар давхаргын j дэх нейроны үйлчлэл гэж ойлгоно. Хамгийн сүүлийн (ө.х. M дэх) давхаргаас бусад давхаргуудыг далд давхаргууд гэж ярьдаг. Жишээлбэл, 1 далд (нийт 2) давхаргатай, 1 гаралттай (m=1) нейроны сүлжээ нь

f(x)=\displaystyle\sigma\Big(\sum_{j=1}^Na_j\sigma(w_j\cdot x+b_j)+c\Big)\qquad\qquad(*)

хэлбэрийн функцүүдийг төлөөлнө. Энд x\in\mathbb{R}^n нь оролтын хувьсагч, a_j,b_j,c\in\mathbb{R} ба w_j\in\mathbb{R}^n нь сүлжээний жин болон хазайлтын параметрүүд, N нь далд давхаргын өргөн. Дорх зурагт n=3 ба N=4 тохиолдлыг дүрслэв.

Ийм сүлжээний үндсэн зориулалт нь, сүлжээний (жин, хазайлт зэрэг) параметрүүдийг тохируулах замаар, өгөгдсөн F(x) функцийг ойролцоолох явдал болно:

f(x)\approx F(x).

Цаадах F(x) функц нь төгсгөлөг тооны цэгүүд дээрх утгуудаараа өгөгдөнө. Өөрөөр хэлбэл,

y^{(i)}=F(x^{(i)}) ,\qquad i=1,\ldots,K

байхаар

x^{(1)},\ldots,x^{(K)}\in\mathbb{R}^n,\qquad y^{(1)},\ldots,y^{(K)}\in\mathbb{R}

гэсэн өгөгдөл мэдэгдэж байгаа гэж үзнэ. Сүлжээний параметрүүдийг тохируулах процессыг сургалт гэж ярьдаг. Тодруулбал, жингийн матрицууд болон хазайлтын векторуудыг сүлжээний (дотоод) параметрүүд гэх ба эдгээр нь сүлжээг сургах үед автоматаар тохируулагдах ёстой. Харин сүлжээн дэх давхаргын тоо (буюу сүлжээний гүн) болон далд давхаргуудын өргөнийг гаднаас нь хүн бэхэлж өгөх тул эдгээрийг гадаад параметрүүд (эсвэл гиперпараметрууд) гэдэг.

Тэгэхээр F(x) нь 0-ээс 1-ийн хооронд утга авдаг дурын функц бол, f(x) функцийг F(x) функцтэй хичнээн л бол хичнээн ойрхон байхаар сүлжээний гадаад болон дотоод параметрүүдийг тохируулж болох уу гэсэн тулгуур асуудал зүй ёсоор тавигдаж байна. Үүнийг товчоор «Хиймэл нейроны сүлжээ нь универсаль ойролцоологч мөн үү?» гэж томъёолж болно. Энэ асуултын хариу эерэг болохоор барахгүй ганц л далд давхарга хангалттай гэдгийг 1989 онд Жорж Цыбенко баталсан. Түүний теоремын үндсэн хэлбэрийг толилуулъя.

Цыбенкогийн теорем. Нэгж куб Q=[0,1]^n дээр тодорхойлогдсон, тасралтгүй функц G\in C(Q) ба дурын тоо \varepsilon>0 өгөгдсөн болог. Тэгвэл x\in Q болгоны хувьд

|g(x)-G(x)|<\varepsilon

нөхцлийг хангадаг,

g(x)=\displaystyle\sum_{j=1}^Na_j\sigma(w_j\cdot x+b_j)\qquad\qquad(**)

хэлбэрийн функц олдоно. Өөрөөр хэлбэл ийм хэлбэрийн функцүүд C(Q) огторгуй дотор шигүү дэд олонлог үүсгэнэ.

Энэ теоремыг дээрх асуулттайгаа холбохын тулд, 0-ээс 1-ийн хооронд утга авдаг тасралтгүй функц F(x) өгөгдсөн үед G(x)=\sigma^{-1}(F(x)) гэсэн шинэ функц тодорхойлоод, түүн дээрээ Цыбенкогийн теоремыг хэрэглэнэ. Тэгвэл f(x)=\sigma(g(x)) нь (*) хэлбэрийн функц болох ба, үргэлж |\sigma'(t)|\leq1 тул

|f(x)-F(x)|=|\sigma(g(x))-\sigma(G(x))|\leq|g(x)-G(x)|<\varepsilon

байна.

Цыбенкогийн теоремыг хэд хэдэн чиглэлээр өргөтгөх боломжтой.

  • Өдөөгч функц нь дурын зааглагдсан, тогтмол биш бөгөөд тасралтгүй функц байж болно. Зааглагдаагүй зарим функцийг ч зөвшөөрнө.
  • L^p(Q) огторгуй доторх ойролцооллыг авч үзвэл зарим тасралтгүй биш функцийг өдөөгч функцээр авч болно.
  • Сүлжээний гаралтын тоог хэд ч болгож болно. Өөрөөр хэлбэл F:Q\to\mathbb{R}^m хэлбэрийн функцүүдийн ойролцооллыг авч үзэх боломжтой.
  • Нэмэлт нөхцөлтэйгөөр Q=[0,1]^n мужийг \mathbb{R}^n мужаар сольж болно.

Дор бид Цыбенкогийн теоремын L^2 хувилбарыг батална. Түүнээс өмнө энэ теорем яагаад үнэн байж болохыг бүдүүн барагцаагаар ойлгох гээд үзье. Эхлээд n=1 үед

g(x)=\displaystyle\sum_{j=1}^Na_j\sigma(w_jx+b_j)

томъёоноос харахад, \sigma функцийг агшааж сунгаж, ийш тийш нь зөөсөн хувилбаруудын шугаман эвлүүлгээр дурын функцийг ойролцоолох асуудал тавигдаж байна. Дор \sigma функцийн графикийг үзүүлэв.

Үүнийг хэвтээ тэнхлэгийн дагуу агшаавал, ө.х. w_j коэффициент их бол, 0-ээс 1 хүртэлх өсөлт маш эгц, шатны гишгүүр шиг болж ирэх бөгөөд хоёр ийм шатан функцийн ялгаврыг авах замаар тэгш өнцөгт шүдэн функцүүд гаргаж болно:

Энд

s(x)=\sigma(20x)-\sigma(20x-40)

функцийн графикийг зурсан. Шүдний хажуу талыг хичнээн ч эгц, шүдний өргөнийг хичнээн ч нарийхан болгож болно. Ингээд олон ийм шүднүүдийн шугаман эвлүүлгээр ямар ч функцийг ойролцоолох боломжтой.

Эцэст нь n нь ерөнхий үед

\sin(a_1x_1+\ldots+a_nx_n),\quad \cos(a_1x_1+\ldots+a_nx_n)

маягийн функцүүдийг шүдэн функцүүдээрээ эхэлж ойролцоолоод, дараа нь эдгээр синус косинусуудаараа ерөнхий функцийг ойролцоолж болно.

Одоо жинхэнэ баталгаа руугаа оръё. Эхлээд функцүүдийн бүл L^2 огторгуйг төрүүлдэг байх нэг хүрэлцээтэй нөхцөл оруулж ирье.

Теорем. Нэгж куб Q=(0,1)^n ба түүн дээр тодорхойлогдсон функцүүдийн олонлог A\subset L^2(Q) дараах чанарыг хангадаг болог: Бүх \phi\in A функцийн хувьд

\displaystyle\int_{Q}f(x)\phi(x)dx=0

байдаг тривиаль биш функц f\in L^2(Q) байхгүй. Тэгвэл

g(x)=\displaystyle\sum_{\phi\in A}a_\phi\phi(x)

хэлбэрийн төгсгөлөг нийлбэрүүдийн олонлог нь L^2(Q) огторгуйд шигүү.

Баталгаа. Дээрх төрлийн төгсгөлөг нийлбэрүүдийн олонлогийг S гээд, теоремыг эсрэгээс нь батлах үүднээс түүний битүүрэл \bar{S} нь L^2(Q) огторгуйн жинхэнэ дэд олоног гэе. Тэгвэл \bar{S} дэд огторгуйд ортогональ, тривиал биш h\in L^2(Q) гэсэн функц олдоно. Нөгөө талаас, A\subset S тул \phi\in A бүрийн хувьд

\displaystyle\int_Q h(x)\phi(x)dx=0

болох ба, теоремын нөхцөл ёсоор h\equiv0 гэж гарна. Гэтэл энэ нь h функцийн тривиал биш чанартай харшилж, теорем батлагдлаа.

Дээрх теоремыг ашиглан

g(x)=\displaystyle\sum_{j=1}^Na_j\sigma(w_j\cdot x+b_j)\qquad\qquad(**)

хэлбэрийн функцүүд L^2(Q) дотор шигүү гэдгийг харуулъя гэвэл дараах ухагдахуун гарч ирнэ.

Тодорхойлолт. Нэг хувьсагчтай \sigma(x) гэсэн функцийн хувьд

A=\{x\mapsto\sigma(w\cdot x+b):w\in\mathbb{R}^n,\,b\in\mathbb{R}\}

олонлог өмнөх теоремын нөхцлийг хангадаг бол \sigma функцийг ялгаварлагч функц гэж нэрлэнэ.

Жишээ. Фурьегийн цувааны классик онолоос \sigma(t)=\sin t функц нь ялгаварлагч гэж гарна. Иймд синус (эсвэл косинус) өдөөгч функцтэй нейроны сүлжээ нь универсаль ойролцоологч болно.

Тодорхойлолт. Дараах нөхцлүүдийг хангадаг \sigma функцийг сигмоид функц гэж нэрлэнэ.

\displaystyle\lim_{x\to-\infty}\sigma(x)=0,\qquad\lim_{x\to\infty}\sigma(x)=1.

Сигмоид функцийн жишээ

Теорем. Тасралтгүй сигмоид функцүүд нь ялгаварлагч болно. Өөрөөр хэлбэл тасралтгүй сигмоид өдөөгч функцтэй нейроны сүлжээ бүр универсаль ойролцоологч.

Баталгаа. Бидний зорилго бол f\in L^2(Q) функц нь дурын {}w\in\mathbb{R}^n ба b\in\mathbb{R} параметрүүдийн хувьд

\displaystyle\int_{Q}f(x)\sigma(w\cdot x+b)dx=0

тэнцлийг хангадаг бол f=0 байх ёстой гэж харуулах явдал байгаа. Үүнийг батлахын тулд {}w\in\mathbb{R}^n ба b\in\mathbb{R} параметрүүдийг бэхлээд,

\sigma_\lambda(x)=\sigma(\lambda (w\cdot x+b))

функцийн \lambda\to\infty хязгаарыг сонирхвол, бараг бүх x\in\mathbb{R}^n цэгийн хувьд

\sigma_\lambda(x)\to\theta(w\cdot x+b)

байна. Үүнд \theta нь t>0 үед \theta(t)=1 ба t<0 үед \theta(t)=0 байдаг функц (Хевисайдын функц, эсвэл эерэг тоонуудын индикатор функц гэж ярьдаг). Цаашилбал, \{\sigma_\lambda\} бүл нь зааглагдсан гэдэг нь тодорхой тул Лебегийн зааглагдсан нийлэлтийн теоремоор

\displaystyle\int_{Q}f(x)\theta(w\cdot x+b)dx=\lim_{\lambda\to\infty}\int_{Q}f(x)\sigma(\lambda (w\cdot x+b))dx=0.

Одоо I=(-M,M) нь x\in Q\,\Longrightarrow w\cdot x+b\in I байх хангалттай том интервал байг. Тэгээд F:L^\infty(I)\to\mathbb{R} гэсэн шугаман функционалийг

F(h)=\displaystyle\int_{Q}f(x)h(w\cdot x)dx

гэж тодорхойлбол, Q нь зааглагдсан гэдгээс F нь зааглагдсан гэж гарна:

|F(h)|\leq\|f\|_{L^1(Q)}\|h\|_{L^\infty(I)}

Хэрэв h нь (\alpha,\beta)\subset I интервалын индикатор функц, ө.х. h(t)=\theta(t-\alpha)-\theta(t-\beta) бол дээр бидний гаргасан үр дүнгээс шууд

F(h)=\displaystyle\int_{Q}f(x)\theta(w\cdot x+b-\alpha)dx-\int_{Q}f(x)\theta(w\cdot x+b-\beta)dx=0

гэж мөрдөнө. Тухайлбал, ийм индикатор функцүүдийн шугаман эвлүүлгийг ашиглан \sin t функцийг I интервал дээр дурын нарийвчлалтайгаар жигд ойролцоолох боломжтой тул

F(\sin)=\displaystyle\int_{Q}f(x)\sin(w\cdot x+b)dx=0.

Энэ тэнцэл дурын {}w\in\mathbb{R}^n ба b\in\mathbb{R} параметрүүдийн хувьд биелнэ гэдгийг санавал f=0 болж, теорем батлагдана.

Тэмдэглэл. Шулуутгагч функц (rectifier) гэгддэг

r(t)=\max\{0,x\}

өдөөгч функц практикт их ашиглагддаг. Энэ нь зааглагдаагүй функц тул дээрх теоремыг шууд ашиглаж болохгүй.

Гэхдээ r(t)-r(t-1) нь сигмоид функц тул, ийм өдөөгч функц нь мөн универсаль ойролцоологч нейроны сүлжээг төрүүлнэ.

Дасгал 1. Өдөөгч функц нь гиперболлог тангенс

\tanh t=\displaystyle\frac{e^{t}-e^{-t}}{e^t+e^{-t}}

байх нейроны сүлжээ нь универсаль ойролцоологч болно гэж харуул.

Дасгал 2. Өдөөгч функц нь Хевисайдын функц бол юу болох вэ?

Сурталчилгаа
This entry was posted in Анализ, теорем and tagged , , , , . Bookmark the permalink.

Хариу Үлдээх

Fill in your details below or click an icon to log in:

WordPress.com Logo

Та WordPress.com гэсэн бүртгэлээрээ сэтгэгдэл бичиж байна. Гарах /  Өөрчлөх )

Google+ photo

Та Google+ гэсэн бүртгэлээрээ сэтгэгдэл бичиж байна. Гарах /  Өөрчлөх )

Twitter picture

Та Twitter гэсэн бүртгэлээрээ сэтгэгдэл бичиж байна. Гарах /  Өөрчлөх )

Facebook photo

Та Facebook гэсэн бүртгэлээрээ сэтгэгдэл бичиж байна. Гарах /  Өөрчлөх )

Connecting to %s