こんにちは、おかてんです。
最近人工知能という言葉をよく聞きますよね。
人工知能は何回かブームを繰り返しながら、少しずつ発展し、今回は3度目のブームがきております。
この3度目のブームの火付け役となったのがディープラーニングという技術。
今回はディープラーニングのフレームワークの一つであるTensorFlowが学べるUdemyの講座を受けてみましたので、それについてご紹介します。
【4日で体験】 TensorFlow x Python 3 で学ぶディープラーニング入門
Udemyを知らない人はこちらを参照してください。
ディープラーニングとは?
まずは3度目の人工知能ブームの火付け役となったディープラーニングについて説明します。
ディープラーニングとは深層学習とも言われ、機械学習の一種。
機械学習とは、画像認識などの分野でよく使用され、画像から人や猫などを自動的に認識したい時、大量の画像データをコンピュータに読み込ませることで学習させ、未知の画像データが入ってきても認識が可能になるという技術です。
猫の画像を認識するときに、コンピュータは「猫というのは目や鼻はこういう特徴を持っていて、髭があって」というように猫を認識するために学習(特徴量を設計するとも言われる)することで、未知のデータが入ってきても猫と認識させることができるんですね。
従来の機械学習では、その特徴量を人間が設計していましたが、ディープラーニングではコンピュータが特徴量を自動的に設計してくれるのです。
大量の学習データを用いて、コンピュータが自動的に特徴量を設計することで学習し、設計された学習モデルを使うことで未知のデータにも対応することが可能になります。
2012年の画像認識のコンペでディープラーニングの登場で、従来の機械学習より大きく上回る認識性能を叩き出し、そこから一気に注目を浴びました。
ディープラーニングのフレームワークとは?
ディープラーニングはすごい!今流行りの技術だから習得したい!と思う方も多いかと思いますが、では実際に開発などで使うにはどうすればいいんでしょうか?
理論を勉強して、自分で1からゴリゴリプログラミングするというのも有り得ますが、それだといくら時間があっても足りません。
そこで、ディープラーニングのプログラミングを簡単にするのがフレームワークと呼ばれるものです。
フレームワークとは細かいプログラミングの機能を一群化したもので、細かい理論を覚えなくても、簡単な機能とその使い方を覚えるだけで実行できるというもの。
現在は色んなフレームワークが登場していますが、今回紹介する講座はTensorFlowと言われるものを用いています。
TensorFlowとは?
Tensor flowとはGoogleが開発した機械学習のライブラリで、ディープラーニング以外の機械学習も扱っています。
主に
- Google翻訳
- Googleの検索結果の表示
- 画像認識による解析
- 自動運転の実装
など、Googleが手がけている機械学習関連を含むサービスはすべてTensorflowを使って実装されています。
TensorFlowという意味はTensorというのが多次元配列で、それが数式として流れていく様FlowをとしてTensorFlowと名付けられているとのこと。機械学習の分野では多次元配列を使うことが多いので、それにちなんだ名前になっているんですね。
講座の内容とおすすめポイント
では、講座の内容とおすすめポイントをご紹介します。
講座内容
この講座ではPythonの基礎的な知識が必要とされています。
もし、Pythonを触ったことない人、あるいはプログラミング自体あまりやったことない人には難しいかと思いますので、勉強してからのほうがいいかと思います。
Pythonやプログラミングの知識があまりない方はこちらを参考に。
この講座では4日間で一通り終わらせようというコンセプトで4つのセクションに分かれています。
- MNISTを使ってディープラーニングの解説・実装
- MNISTを使ってConvolutional Neural Network(CNN)の解説・実装
- CNNを使った一般物体認識についての解説・実装
- CNNを使った画像のスタイル変換
前半はMNISTと呼ばれる手書き文字認識のデータを用いて、学習を進めていきます。純粋なディープラーニングを用いた手法と画像認識に強いCNNを用いた手法の2通りでアプローチします。
後半はより実践的な一般物体認識と画像のスタイル変換について学習します。
一般物体認識とは画像中に映る物体、例えば猫や机などを認識すること。画像のスタイル変換とはある画像を油絵風に変換したり、ある画家が描いたようなタッチに変換するなどが可能となります。
前半で、基礎を身につけ、後半で実践的な課題に挑戦するという流れですね。
講座のおすすめポイント
では、実際に受けてみて良かったと思う点をご紹介します。
- 図を使った説明で分かりやすい
- レクチャースライドを保存できる
- Jupyter notebookを使うので実装がしやすい
機械学習やディープラーニングでは少なからず数式を用いた説明が前提となるので、文章や絵だけではどうしても分かりにくい部分があります。
一方、この講座では図とペンを使った動画となっているのでディープラーニングの仕組みがどのようになっているのかというのが流れとしてわかりやすいです。
レクチャースライドを保存することができます。一度スライドを保存しておけば、動画を一通り見た後の振り返りがしやすいですね。動画の方が理解はしやすいですが、ある程度理解が進めば、スライドだけを活用していちいち動画を見ずに済むので学習の効率も上がると思います。
あとはこの講座ではJupyter notebookを使ってPythonでプログラミングを行います。
jupiter notebookの画面はこんな感じ。
NewからPython[default]を選び、新しいファイルを作成することができます。
新しいファイルはこんな感じです。
ここにコードを書きまくり(Pythonはライブラリが豊富なので書くのは数行)実行するとすぐ結果を見ることができます。
自分が書いたプログラムをすぐに見れると楽しいし、とても便利ですね。
あとtabでコードを補完してくれるので、めちゃくちゃ使いやすいです。
最後に
今回はUdemyで学べるTensorFlowを使ったディープラーニング講座についてご紹介しました。
この講座ではディープラーニングの基礎知識、TensorFlowを用いた実装方法を学ぶことができます。
ディープラーニングに興味のある方、TensorFlowに興味のある方は是非受けてみてください。
【4日で体験】 TensorFlow x Python 3 で学ぶディープラーニング入門