ブログ
BLOG

技術ブログ

前回、機械学習の開発環境を整える方法を解説し、 Windows上に、Visual Studio Code(VS Code), Anaconda, PyTorchをインストールしました。

前回の記事:Pytorchで機械学習1:Anaconda/VS Codeで環境構築編


今回はニューロ(機械学習)の基礎を簡単に解説し、PyTorchのプログラムで動かす方法を示します。

シンプルな例として、2入力1出力のXOR問題というものを学習するプログラムを解説します。

ニューロの構成

ニューロの計算は実際の神経細胞の仕組みを模擬しています。 神経細胞を模擬すれば、生物を模倣できるのでは?という発想です。

神経細胞を簡単に模式化すると下図のようになります。

続きを読む

技術ブログ

社長です。最近、自分でも機械学習のコーディングを始めてみました。 実は卒論修論(数十年前?)でニューロ・ファジィ・GAを使った制御の研究をしていたので、前から自分でもやりたいと思っていたんですよね。 また、最近は機械学習のライブラリが後で解説するPyTorchに集結しつつあるようなのも、重い腰を上げるキッカケにもなりました。

環境整えるまでの手順が多かったので、まずは環境構築手順をまとめてみます。

こだわりのポイントとしては、普段の仕事の関係上、Windwos上で環境構築を行ったことです。 色々と聞いたりして調べた結果、下記を使用することにしました。

「PyTorch」は、Facebook社がオープンソースで開発している、python/C++用の機械学習のライブラリです。同社のCaffe2やPFN社のChainer等も吸収し、今最も人気のある機械言語のライブラリと言えると思います。 コアの演算は、torch.Tensorというクラスにまとめられ、GPU(CUDA)を使った演算もNumPyライクに比較的簡単に行えたり、自動微分の機能があるため学習のアルゴリズムをかなり隠ぺいする(書くべきコード量を少なくする)ことができます。

「Anaconda」は、pythonの仮想環境を複数用意してくれます。pythonは便利ですが、バージョン問題に悩まされ、 python本体やライブラリのバージョンが合わないと、プログラムが動かないなどといったことがよくあります。 Anacondaを使用すると、各仮想環境内にpythonやライブラリをインストールするのでそのような問題を解決できます。例えば、
・普段の開発用はPython 3.8とpytorch1.8.1
・あるオープンソース用にPython 3.6とpytorch1.0
などといった環境をつくって選択することができます。

「Visual Studio Code」(VS Code)は、マイクロソフト社が公開しているエディタです。様々なプラグインがあり、それらを入れることで様々な言語の開発環境を構築できます。 python用のプラグインもあり、ブレークポイントで止めて中の値をみたり、インタラクティブ実行などもできてデバッグが楽にできます。


それでは具体的なインストールから、テストプログラムの実行方法を示します。

続きを読む