Mr.∅の数学と古美術

数学講師が語る数学と古美術、「数学語」・「数学的文法」で日本の数学教育を変えたい!

Swish関数とは?

「人工知能に数学をやらせてみた」の企画で用いた,AIの元.

  f:id:phi_math:20191219235440j:plain

Swish関数というものを使いました.

AIで使う最も基本的な関数は,シグモイド関数.別名,ロジスティック関数.

  y=1/(1+exp(-ax))

です(黒い曲線).

  f:id:phi_math:20191221000825j:plain

これを伸ばした感じのRelu関数というものも使われます(青い曲線).

  y=0  (x<0)

  y=x  (x ≧0)

です.1つにまとめると,

  y=(x+|x|)/2

ですね.

 

しかし,Reluは,x=0で微分不可能です!これはタチが悪い.

そこで,それに良く似た微分可能な関数を考えます.

それが,Swish関数(黒い曲線).

  f:id:phi_math:20191221000957j:plain

これは,どんな式で表されるでしょう?

x→∞でy=xに漸近し,x→-∞でy=0に漸近.

ロジスティック関数(シグモイド関数)がx→∞でy=1に漸近し,x→-∞でy=0に漸近することを踏まえると・・・

  y=x/(1+exp(-ax))

これがSwish関数.

 

AIを作るときにどんな効果があるのかは,私はあまり分かっていません.

しかし,形が好きなので,よく使っています(笑)