こんにちは、おかてんです。
今回はUdemyの「【4日間でチャレンジ】Python 3・ PyTorch によるディープラーニング・AIアプリ開発入門」を受けてみたので、その感想を書きます。
PyTorchはディープラーニングのフレームワークの1つで最近、周りでも使い始めている人が増えています。以前はTensorFlowを使っていたのですが、これを機にPyTorchを学ぼうと思いました。
初心者よりは、ある程度プログラミングに触れたことのある人、ディープラーニングの知識がある人の方がレベル的には良いかなと感じました。
特にこの講座にオススメな人はこちらです。
- PyTorchを始めて使う人
- ディープラーニングの基礎を学んで、次のステップに進みたい人
- 実践的なデータ処理に触れたい人
後半は、実際のデータを使ってプログラミングするので、実践的なプログラミングを学ぶことができます。
では、この講座の内容や感じたことを紹介していきます。
PyTorchとは?
PyTorchとはFacebookが開発する深層学習(ディープラーニング )ライブラリです。
僕がディープラーニングに関するプログラムを書くときは使いやすさの面でTensorFlowが多かったのですが、今回のPyTorchに関してもそれに匹敵する使いやすさでした。
PyTorchには以下の特徴があります。
- 高速に動作し、シンプルな記法
- 柔軟なディープラーニング開発が可能
- 急速に普及している注目のライブラリ
PyTorchはディープラーニングのライブラリとしては後発ですが、近年利用者数が増えており注目を浴びています。それに便乗して僕も学んでみました。
上記以外で僕が感じたPyTorchの良いところは導入方法がめちゃくちゃ簡単なところ。
講座でも紹介されてますが、Pythonをインストールした後、PyTorchのホームページに行き、Get Startedをクリック。
自分のOSやPythonのバージョン(Language)、GPUの有無(CUDA)などを選ぶだけ。選んだ後は、Run this Commandに表示されているコマンドをWindowsならコマンドプロンプトから、Macならターミナルから打ち込むだけでインストールが完了。めちゃくちゃ簡単じゃないですか?
ちなみに僕の環境はOS:Mac、Package:Pip、Language:Python 3.6、CUDA:Noneにしております。動画を見ればもう少しわかりやすく解説されています。
概要
それでは、この講座の概要について説明します。
- 導入と環境構築
- ニューラルネットワークと自動微分計算
- ニューラルネットワークによるワインの分類
- 時系列データ処理と異常検知
この講座の流れとしては、最初に簡単な導入があり、機械学習やディープラーニングの説明をしてくれます。その後、環境構築に入り、Pythonの開発環境としてAnacondaをインストールします。
続いて、プログラミング実習に入ります。まずは、ニューラルネットワークを構築し、自動微分計算を行います。ここでは詳しく説明しませんが、ディープラーニングを扱う上で自動微分計算は重要な概念なので、それをプログラミングすることで理解が深まります。
その後は実践に入ります。まずはニューラルネットワークを使ったワインの分類です。13種類のワインの特徴(アルコール度数やフェノールなどの含有成分)を使って、ワインを分類するというもの。ここでは、分類精度を上げるためにどのパラメータを調整すれば良いのかを学ぶことができます。
最後に時系列データ処理と異常見地について取り扱います。実践的で一番取り組むべきセクションだと感じました。過去の気温データを使って、未来の気温を予測するというものです。それだけでなく、予測したデータの中でどれが異常値なのかも判定するようなプログラムも学ぶことができます。
良かった点
それでは、僕が感じた良かった点についてご紹介します。
PyTorchが学べる
冒頭でも述べましたが、PyTorchが学べることが大きなメリットかなと思います。
PyTorchではTensorという多次元配列を扱うデータ構造を使用します。Pythonで多次元配列を扱うときはnumpyを想像される方が多いかもしれませんが、Tensorではnumpyの機能に加えて、GPU上での計算もサポートされています。
やはり、ディープラーニングといえばGPUを使ったデータ学習というイメージが強いですよね。その機能もサポートしているとなるとnumpyに取って代わるデータ構造になるかもしれません。
ただ、この講座ではCPUだけでも実行できるように基本的なTensorの扱い方についてのみですが、もし興味のある方はGPU上でどのように使うのかを調べてみてください。
短時間で内容が詰まっている
この講座は合計で2.5時間で終わります。タイトルにもあるように4日間あれば必ず終わるでしょう。ただ、そんなに短くては学ぶ内容が薄くてもったいないのでは?と思うかもしれませんが、そうではありません。
ある程度知識がある人にとっては無駄なく必要な情報を得ることができます。
前提知識が必要とされているので、その分初歩的な説明は多く省かれているので、ある程度経験のある人なら、ちょうど良い長さになっていると思います。ただ、初心者にとっては説明不足でわかりにくいと感じるかもしれません。
あとは、PyTorch自体がシンプルな記法なのでプログラム量が全然多くないのも、短くおさまっている1つの要因かなと思います。
実践的なデータ処理を使って学べる
この講座では後半に実際のデータを使ってディープラーニングを学びます。
やはりプログラミングするにあたって、自分が書いたものがどのようにして使われるのかを想定した方が楽しいですよね。
この講座ではワインの分類と時系列データ処理とどちらも実際に使用されているデータを用いています。
特に後半の時系列データ処理では、自分で実際にデータをダウンロードして、気温予測などができます。講座では1つのデータだけを取り扱いましたが、僕は色んなデータをダウンロードして試してみました。
最後に
この講座は何と言ってもPyTorchが学べることが大きなメリットです。僕も初めて使いましたが、使いやすさに驚いています。
PyTorchを使った実践的なデータ処理も経験することができるので、短時間でサクッと学習したい人は是非試してみてください。