テンソルとは何か?

今度、久しぶりにディープラーニング系の話をします。

調べてみたらマルレクでディープラーニングの話をしたのは、2年前が最後でした。https://www.marulabo.net/docs/20170528-marulec01/

「先生、たまには人工知能の話もしてください。」(いつもしてますけど。)
「あと、数学、関心高いんですよ。」(「楽しい数学」、やってますけど、楽しくない?)

今回のセミナーは、こうした(角川 en藤さんからの)リクエストに応えたものです。

--------------------------------
7/9 角川セミナー「初めてディープラーニングを学ぶ人のための数学入門〜ニューラルネットで行列を理解する〜」
https://lab-kadokawa83.peatix.com/
--------------------------------

普通に線形代数の話をしても面白くないので、今回は、ちょっと新しい考え方を紹介できればと思っています。

それは、「テンソルとは何か?」という疑問に、絵解きで答えるアプローチです。

ディープラーニングのフレームワークとしては、 GoogleのTensorFlowは有名ですし、スカラー、ベクトル、行列 ....といった系列の拡張として「テンソル」という概念があることは、ご存知の方も多いと思います。

ディープラーニングの数学では、「テンソル」というのは大事な概念です。

今回紹介しようと思っているのは、Tensor Network という考え方です。

考え方は簡単です。マルを一つ考えます。マルから一つだけ「手」が出ているのが「ベクトル」で、マルから二つ手が出ているのを「行列」と考えるんです。一般に、マルからたくさん手が出ているのを、「テンソル」と呼びます。(手が無いマルは「スカラー」です。)

マルとマルは、手をつなぐことができます。手をつなぐということは、ある演算に対応しているのですが、マルとマルがつながることで、テンソル(マル)のネットワークが出来上がります。これを Tensor Network と呼びます。

7/9 セミナーの参考資料 Youtube から視聴できるようにしました。

「テンソルとは何か? Tensor Network 入門(1) -- ベクトル編」
https://youtu.be/rAGWJcT1lCs
「テンソルとは何か?Tensor Network 入門(2) -- 行列編」
https://youtu.be/tjxqLprW6HY
「テンソルとは何か?Tensor Network 入門(3) -- 3-テンソル編」
「テンソルとは何か?Tensor Network 入門(4) -- テンソル編」
https://youtu.be/bZuuSQG_WNo
「テンソルとは何か?Tensor Network 入門(5) -- Contraction編」
https://youtu.be/ghvV-UwpSlM

「ディープラーニングでのConvolutionの計算を視覚化する(1)」
https://youtu.be/IwUD4ca_nXQ
「ディープラーニングでのConvolutionの計算を視覚化する(2)」
https://youtu.be/2LJTM0zyHSQ


コメント

このブログの人気の投稿

マルレク・ネット「エントロピーと情報理論」公開しました。

初めにことばありき

人間は、善と悪との重ね合わせというモデルの失敗について