Beyond the State-of-the-Art

最先端を超えたいと思ってる(大嘘)エンジニアのブログ

気になったビジネスニュース 2018-10-18

セプテーニ、専門のクリエイティブ研究チーム「TikTok LAB」を設立

rtbsquare.ciao.jp TikTokの注目度が高まっていますね。TikTok専門の広告クリエイティブ研究チームが設立されているということは、それだけ市場価値の成長が見込めるアプリなんですかね。

サイバーエージェント、アニメレーベル「CAAnimation」の設立について

rtbsquare.ciao.jp サイバーエージェントがアニメ制作レーベルを設立とのこと。CygameとかAbemaTVとかと連携して、サブカル・エンタメのエコシステムを構築しようとしてるんですかね。

Deep Learningをゼロから作ることにした(その2)

下記の本の勉強の続きです。今回は3章をフォローしたので、所感などを書きます。

3章 ニューラルネットワーク

2章でやったパーセプトロンからニューラルネットワークに移行するスタイルで書かれています。

実装するニューラルネットワークは3層のもので、移行のところでシグモイドやReLU等の活性化関数の導入がありました。 出力層の設計のところでsoftmax関数の導入がありました。softmax関数はn次元ベクトルからn次元ベクトルへの関数で、関数の値のk成分は

  \displaystyle f(\mathbf{x})_{k} = \frac{ \exp (x_k) }{ \sum_{i=1}^{N} \exp (x_k) }

で定義されます。ただし、この定義をそのまま使うとオーバーフローしやすくなるので、

  \displaystyle \frac{ \exp (x_k) }{ \sum_{i=1}^{N} \exp (x_k) } = \frac{ \exp (x_k + C) }{ \sum_{i=1}^{N} \exp (x_k + C) }

という関係式(Cは任意の定数)を使って、オーバーフロー対策をするという話が少し面白かったです。この関係式の証明は簡単にできます。

ニューラルネットワークの実装は、Numpyのおかげでスッキリと書けたのが良かったですね。

章の最後は、MNISTのデータと学習済みモデルを使って、実際に文字画像認識するという内容でした。データとモデルの準備は、オライリージャパンのGitHubリポジトリにあるPythonスクリプトで行うようになってました。deep learning以外のことに紙面を割くのは教育的ではないので、データとモデルの準備のコードの説明がなかったのは仕方ないとは思いますが、「ゼロから作る〜」というタイトルと乖離している印象を受けて少し残念に思いました。個人的には本書だけで完結する形式が望ましかったですね。

次章

次章ではニューラルネットワークで実際に学習を行います。

Deep Learningをゼロから作ることにした(その1)

最近Kerasを使って試しにLSTMでcos曲線を予測するというのをやってみたのですが、deep learningについては雲を掴むような感じで何もわかりませんでした。 そこで、deep learningの原理から実装までをひと通り知るために、次の本を読みながらdeep learningを実装することにしました。

このシリーズ記事では上の本で勉強した事について適当に書こうと思います。今回は1〜2章について書きます。

1章 Python入門

Pythonは普段からよく触っているので、基本的に軽く目を通しただけです。Numpyに慣れていないので、Numpyのところを重点的に読みました。ブロードキャストの有効活用例はいまいちイメージできないですね。Numpy配列のflattenメソッドは便利そうだなと思いました。

2章 パーセプトロン

ニューラルネットワークの前身?であるパーセプトロンについて。AND・NAND・ORといった単純な論理回路パーセプトロンで表現。実装例を見ると、Numpyのelement-wise productは便利だなと思いました。

本章では線形分離性について説明されていて、XORは単一のパーセプトロンで表現できず、AND・NAND・ORを使って多層のパーセプトロンで表現できることが書かれていました。多層パーセプトロンを表す図がニューラルネットっぽい図だと思いました。

次章

次章はニューラルネットワーク入門。

ブログ名を変えました

表題の通り、ブログ名を変えました。新しい名前は「Beyond the State-of-the-Art」です。大文字にする場所はここで合ってるのかどうかちょっと不安です。

タイトルは「最先端を超えて」という意味ですが、特に思いを込めているわけではありません。最近知ったstate-of-the-artという言葉を気に入ったので、それをブログ名に使いたかっただけですね。あとbeyondは「beyond the standard model」という素粒子物理学の言葉を意識しています。

ということで、心機一転してブログを続けたいと思います。

虚数は存在するのか?

虚数は実在するのか?」

多くの人はこういう疑問を抱くだろう。この疑問を抱く人に逆に問おう。「実数は実在するのか?」と。

私は実数は実在しないと考えている。長さと重さとか実数で表せるじゃないかと反論されるだろうが、私はそれでも実在しないと答える。長さと重さとか実数で表せることは認めよう。揺るぎのない事実なのだから。しかし、実数で表せることと実数が実在することはイコールではない。長さや重さは実数で表せるのは、長さや重さといった概念が実数にうまく対応付けられる、つまり、長さや重さを実数でうまくモデル化できているに過ぎない。我々が実数が身近に思えるのは、モデル化が我々にとって自然なものであり、無意識のうちにモデルと実体を同一視してしまっているためである。

最初の「虚数は実在するのか?」という質問に戻ろう。私の答えはNOだ。さらに補足すると、そもそも実数を含め数全般は実在しない。