【技術者ブログ】機械学習のライブラリ、TensorFlow

技術者ブログと題して社員が日ごろ取り組んでいる学習内容を紹介します。
今回は、AIをテーマにしている第1ユニットです。

今回のテーマ
『TensorFlow』について(概要)

前回の第1ユニットの技術者ブログではOpenCVを使って顔を切り出すプログラムを作りました。

ここから顔を機械に判別させるためには、切り出した画像を誰の顔なのか、機械に学習させる必要があります。
ここからやるべきことはたくさんありますが、まずは大きな流れをつかんでいただくために、今回は機械学習ライブラリの1つであるTensorFlowについて簡単に説明します。

TensorFlowとは…

機械学習モデルの開発およびトレーニングに役立つオープンソースのコア ライブラリです。ブラウザで直接実行できる Colab ノートブックを使って、すぐに作業を開始できます。

https://www.tensorflow.org/?hl=ja


TensorFlowはGoogleが開発し、公開している機械学習ライブラリです。

ニューラルネットワーク(人間の脳のしくみを基にしたアルゴリズム)
を構築、訓練することができる

少し前に 人間の対局データを使っていないことで話題になった囲碁AIの「 AlphaGo Zero」の開発でも使われています。

※詳しくは公式サイトをご覧ください。

■TensorFlowなどの機械学習ライブラリを利用する流れ

① TensorFlowを動かす環境のセットアップ
② 画像データの用意
③ 学習アルゴリズムの作成
④ ③のアルゴリズムで①の画像データを学習させてモデルデータを生成

4つができれば、モデルデータ(学習させた結果 )を生成できます。

今回は概要ということで、それぞれについて詳しいお話はまたの機会にしますが、
①②はネットで調べればたくさんの情報が出てくるので、そこまで大変ではないと思います。

上の中で1番難しいのは③学習モデルの作成です。
機械学習にはたくさんの手法があり、それぞれについて学ぶ必要があります。
自分たちで新しいものを作り出すためにはたくさんの勉強が必要でしょう。

■機械学習ライブラリはTensorFlowしかないのか?

そんなことは全くありません。
・scikit-learn
・Chainer
・Theano
・Keras

調べればたくさんの単語が見つかると思います。興味があればご自身で調べてみてください。

■最後に

以上、ざっくりとした説明をしましたが、少しでも読んでくださった皆さんが機械学習に興味を持っていただけたら幸いです。