AI・機械学習の基礎を学び、実装してみる

【このページは、5分で読めて、2時間くらいでお試しいただけます】

Elixirは、AI・機械学習の開発が可能で、GPUやTPUも利用可能です(Pythonをご存知の方であれば同様のことが実現できます)

ここでは、AI・機械学習の知識と実装の両方を、入門レベルから学んでいきます

Web上でElixir開発ができる「Livebook」と、ディープラーニング(とニューラルネットワーク)を構築するための「Nx」「Axon」を準備します

その後、機械学習の基礎知識を学び、Livebook上でNx/Axonを使った簡単なディープラーニングアプリ開発を動画で解説します

本解説ページは、開発環境にElixirがインストールされていることを前提としており、未インストールの方は、下記から始めてください

https://elixir-lang.info/topics/entry_column

なお、「AI」と「機械学習」、「ニューラルネットワーク」、そして「ディープラーニング」の関係性は、下記の通りです

①Web上でElixir開発ができる環境「Livebook」の概要

【本動画は、4分半で見れます】

前半は、Livebookがもたらす体験と、Livebookで何ができるようになるかの解説になります

後半は、Fly.ioというクラウドサービス上で、Livebook環境を数秒で立ち上げ、実際に動く様を見ていただきます

Livebookは、まるでノートのようにElixirコードが書けて、コードの実行結果がその場で見れて直感的です

また、コード以外にも、数式やフローチャートも簡単に作れる様もご覧ください

更に、Livebookが複数名で共同編集・開発ができる点についても触れます

②Livebookのインストール

【本動画は、5分半で見れて、5~10分くらいでお試しいただけます】

GithubからLivebook環境を構築し、ブラウザでLivebook上のElixirコードを動かします

この動画ではVScodeで解説していますが、ターミナルやシェルでも同じ手順で実行可能です

※本手順を実施するためには、あらかじめElixirとGit(クライアント)をインストールしておいてください

③ディープラーニングを構築するための「Nx」「Axon」の概要

【本動画は、5分半で見れます】

前半は、Elixirで機械学習を実装するために必要なライブラリとして、主にNxとAxonが紹介されます

中盤には、AIや機械学習などの用語の説明と、機械学習が使われるシーンの紹介があります

後半は、Nxが提供する「行列」が機械学習処理になぜ必要かと、Axonが提供するディープラーニング開発に必要な機能が解説されます

④Livebook+Nx+AxonではじめるElixir AI・ML入門

【本動画は、43分で見れて、1時間半~2時間くらいでお試しいただけます】

まず、ディープラーニングアプリを開発する最低限のNx関数を、Livebook上で幾つか解説します

次に、猫か猫以外かを分類する例を通して、機械学習がどのように動作するかの基礎を学びます

機械学習固有のキーワードは、一気に全てを学ばなくてもディープラーニングアプリが開発できるという点についても触れます

それから、手書き文字認識を行うディープラーニングを下記コラムを見ながら開発します

Elixirで機械学習に初挑戦①:基礎知識とLivebook+Nx+Axonによる機械学習入門
https://qiita.com/piacerex/items/9cf4f328222103458167

最後に、これからElixir AI・機械学習を学び続けるためのヒントをお伝えします

⑤入門のあとは…

「Elixirで実現できているAI・ML領域」を知る

https://qiita.com/piacerex/items/645939c537f24e68f514

ElixirでAI・MLについて書かれたコラム群を見てみよう

https://qiita.com/piacerex/items/ccfc7198f08d06433fbc