iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
AI & Data

Attention到底在關注什麼?系列 第 3

Day 3 Capsule Network

Day 3 Capsule Network

前言

昨天講到CNN的限制,那今天就要開始介紹甚麼是膠囊網路,膠囊網路是利用甚麼方法來傳遞向量資訊的

Capsule Network

https://ithelp.ithome.com.tw/upload/images/20210903/20140869lqs2NqMadY.png

Capsule是一群的神經元,經過演算法運算過後或得到向量的輸出
而向量的輸出同時也是其他膠囊的輸入

https://ithelp.ithome.com.tw/upload/images/20210903/20140869eCdlTZaP4p.png

一個膠囊裡面的輸入,會有多個向量,這邊假設只有兩個向量,一個v1,一個v2,將這兩個向量分別乘上一個權重矩陣W1、W2,會產生u1、u2,再來後面的c1、c2是在testing的時候動態決定的,這個動態決定的方法稱為dynamic routing

Sabour, Sara, Nicholas Frosst, and Geoffrey E. Hinton. "Dynamic routing between capsules." arXiv preprint arXiv:1710.09829 (2017).

dynamic routing的方法是,模型先產生一個b1、b2,然後會將產生c的方法重複r次,這個r是一個超參數

之後將這兩個值(b1、b2)經過softmax後產生c1、c2,將u1乘上c1,u2乘上c2,做一個權重和,會得到S這個向量

將這個向量經過一個擠壓函數(Squashing)(下方的v),擠壓函式(Squashing)就是若向量的長度越長,得到的值就會越高,經過擠壓含術後會得到v1這個值

最後將v1跟u1還有u2去做內積,去更新b的參數,在下一次的iteration就會更新c1跟c2的值
這樣子的做法就是可以讓結果偏向正確的結果

EM Routing

https://ithelp.ithome.com.tw/upload/images/20210903/20140869SDUvWlEB4L.png
EM routing 是hinton在2018年對capsule做的修改

右方新的膠囊型態則是會需要pose matrix跟activation,由於從向量改為矩陣,因此擠壓函數在這邊必須做一個修改
將會使用activation來取代擠壓函數

EM Routing傳遞的方式略為複雜,明天看熟之後會再將這部分的筆記補上
今天收工


上一篇
Day 2 Convolutional Neural Network(CNN)
下一篇
Day 4 Matrix capsules with EM routing
系列文
Attention到底在關注什麼?30

尚未有邦友留言

立即登入留言