9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Flux.jl入門資料メモ

Last updated at Posted at 2022-09-28

イントロ

Flux.jlJulia言語の深層学習フレームワークである。モデル構築、自動微分、データハンドリング、モデル更新の枠組みが提供されている。公式リファレンスはちゃんと書かれているが、量が多いのでabsolute beginnerな人間には最初のほうに眺めるべきものがよくわからない(読む順番がわからないというか)。

理解を深めていく段階とかじゃなくて、めっちゃ簡単なものをコピペじゃなくて自分で書けるようになりたいという段階で役に立つものが列挙されているととても助かるのではないかと思う。というわけで、最近Fluxを勉強し始めている自分が眺めている文献をメモ付きで列挙していくことにする。

Fluxの素人によるメモなので、あんまり役に立たないものも含まれているかもしれない。あと書きかけである。随時更新するかもしんない

どういうものを眺めたらいいのか

Fluxで機械学習をやってみたいのだとする。つまり、適当なモデルを損失関数と自動微分そして勾配法を使って学習させてみたいのだとする。差し当たって必要なのは、簡単な問題において以下のような作業を自分で書けるようになることだと思う。

  • データの準備
  • モデルの定義
  • 損失関数の定義
  • 勾配の計算
  • 勾配を使ってモデルを更新
  • 学習結果のチェック
    • 学習後、あるいは学習中。任意の段階で。
    • validationデータでのリスクの計算とか

そのためには、

  • 雰囲気をみる (各関数の意味の正確な理解はさておき)とりあえず大体どんな感じの関数を使って一連の流れを実現するのかを把握し
  • 各ステップの基本を抑えつつ簡単なモデルを学習させてみる その後で、各段階で使う関数の基本的な理解を得ながら、簡単なモデルの学習(線形回帰・ロジスティック回帰あたり?)を実際に書いてみる。平易なものから始める。深層学習っぽくなくてもよい
  • リッチにしていく ちょっとずつ深層学習のフレームワークを使った計算っぽくしていく

というようなことをしたらいいかもしれない。それができればあとは随時公式ドキュメントや各種実装例を読みつつ、より複雑なものが作っていけるのではないか(と、いま私は期待している)。で、上の各ステップにおすすめなのは

  • 雰囲気を見る

    • 60分イントロ
      • 公式が提供している60分チュートリアル。とりあえず最初にこれを眺めると雰囲気わかるような
      • Julia経験者はArraysを飛ばして読んでよさそう
    • 公式リファレンスのBuilding ModelsのBasics
      • 上のチュートリアルに類似してる。もうちょい基本的なところからやってるかもしれない
      • 例えば、Denseとかのモデルがどういうものの抽象化なのか雰囲気がわかるので一度読んでおくといいと思う
  • 各ステップの基本を抑えつつ簡単なモデルを学習させてみる

  • リッチにしていく

資料リンク集

以下に上で紹介したリンクも含めて色々おいておく。

Flux速習系

  • 60分イントロ
    • 公式が提供している60分チュートリアル。とりあえず最初にこれを眺めると雰囲気わかるような
    • Julia経験者はArraysを飛ばして読んでよさそう
    • 自動微分の仕組み(Fluxが提供しているtrainingの背後でどういうことをしているのか教えたいのでは)
    • 自動微分を利用した学習の雛形
    • CIFAR10に対する畳込みニューラルネットワークの学習例
  • 公式リファレンス Building Models/Overview
    • 公式リファレンス内のFluxのoverview
    • Building Modelsの中に入ってるけど、学習まで含めた一連の流れと思ってもよい気がする

モデルの作り方

データハンドリング

各種実装の例

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?