タグ

ブックマーク / euske.github.io (4)

  • (数式を使わない) Transformer の直感的な説明 / 真面目なプログラマのためのディープラーニング入門

    (数式を使わない) Transformer の直感的な説明 RNN の欠点 Transformer はこれをどう解決したか Transformer の動作原理 複数の要素間の関係を考慮する (Self-Attention、自己注意) 要素の順序を考慮する (Positional Encoding、位置エンコーディング) まとめ 概要: ChatGPT などで使われている Transformer モデルは、 ニューラルネットワークの世界にいくつかの革新的なアイデアをもたらした。 記事では、プログラマに理解しやすい形でそれらのアイデアを解説する。 実際に使われている数学の詳細には触れない。 (技術的解説については元論文 Attention is All You Need か、 その注釈版である The Annotated Transformer を参照のこと。 日語では この解説 がわかり

  • おわりに - なぜ機械学習はうさん臭く感じられるのか? / 真面目なプログラマのためのディープラーニング入門

    講座では計8回にわたり、ディープニューラルネットワークの原理と実装について 説明してきた。ニューラルネットワークの原理は基的には 勾配降下法であり、その基盤となっているのが関数の微分可能性である。 ニューラルネットワークにはさまざまな形態が存在するが、 画像処理・画像認識の場合は畳み込みニューラルネットワークが非常に 有効であることがわかっている。また、ニューラルネットワークの 出力形式や損失関数を変えることにより、ニューラルネットワークが 物体検出や奥行き推定など、さまざまなタスクに利用可能であることを紹介した。 さて、講座は「真面目なプログラマのための」ディープラーニング入門、 と銘打っている。真面目なプログラマとは何か? 諸説いろいろあるだろうが、 多くのプログラマは、ソフトウェア開発において 仕様の明確さや、 システムの効率・堅牢性、そして 保守のしやすさといったものを 追求

  • 真面目なプログラマのためのディープラーニング入門

    はじめに: 講座は「機械学習ってなんか面倒くさそう」と感じている プログラマのためのものである。講座では 「そもそも機械が『学習する』とはどういうことか?」 「なぜニューラルネットワークで学習できるのか?」といった 根的な疑問に答えることから始める。 そのうえで「ニューラルネットワークでどのようなことが学習できるのか?」 という疑問に対する具体例として、物体認識や奥行き認識などの問題を扱う。 最終的には、機械学習のブラックボックス性を解消し、所詮は ニューラルネットワークもただのソフトウェアであり、 固有の長所と短所をもっていることを学ぶことが目的である。 なお、この講座では機械学習のソフトウェア的な原理を中心に説明しており、 理論的・数学的な基礎はそれほど厳密には説明しない。 使用環境は Python + PyTorch を使っているが、一度原理を理解してしまえば 環境や使用言語が

    真面目なプログラマのためのディープラーニング入門
  • 真面目なプログラマのためのディープラーニング入門

    はじめに: 講座は「機械学習ってなんか面倒くさそう」と感じている プログラマのためのものである。講座では 「そもそも機械が『学習する』とはどういうことか?」 「なぜニューラルネットワークで学習できるのか?」といった 根的な疑問に答えることから始める。 そのうえで「ニューラルネットワークでどのようなことが学習できるのか?」 という疑問に対する具体例として、物体認識や奥行き認識などの問題を扱う。 最終的には、機械学習のブラックボックス性を解消し、所詮は ニューラルネットワークもただのソフトウェアであり、 固有の長所と短所をもっていることを学ぶことが目的である。 なお、この講座では機械学習のソフトウェア的な原理を中心に説明しており、 理論的・数学的な基礎はそれほど厳密には説明しない。 使用環境は Python + PyTorch を使っているが、一度原理を理解してしまえば 環境や使用言語が

    真面目なプログラマのためのディープラーニング入門
  • 1