ディープラーニングとは?
ディープラーニング(深層学習)は人間の脳の神経回路(ニューロン)を模した機械学習のモデル(AI)であり、深層ニューラルネットワークとも呼ばれます。画像認識のコンペティションでそれまでの記録を大きく塗り替え優勝したことをきっかけに近年大きなブームとなっています。
ディープラーニングは画像認識や音声認識において非常に高い精度を誇っており、自動運転や音声翻訳、がんの診断などで活用されています。このためディープラーニングは大きなイノベーションを起こす可能性を秘めており、非常に注目されている技術となります。
PyTorchとは?
PyTorchとはオープンソースの深層学習(ディープラーニング)用pythonフレームワークです。Facebookの人工知能研究グループAI Research lab(FAIR)により開発され、TensorFlowなどと並び、高い人気を誇っています。
PyTorchの特徴
Numpyと類似した操作方法
PyTorchではデータをTensor(テンソル)というデータ構造で扱うことになります。TensorはPythonでの機械学習プロセスやデータ分析でよく使われるNumpyというライブラリと基本的な操作方法が酷似しており、普段使っているNumpyと同じような感覚でデータの操作を行うことができます。
Define by Runによる
実行の方式には大きくDefine and RunとDefine by Runという2つの方式存在しています。
Define and Runでは、まず最初にネットワークを構築してから、データを流します。ですので、データによってネットワーク自体を動的に変化させるような構造をとることができません。TensorFlowではこの方式がとられています。
一方、Define by Runではデータを流しながらネットワークを構築する方式をとります。動的なネットワーク生成は値を見ながら動作させることが可能なので、デバッグがしやすいという大きなメリットがあります。
活発なコミュニティ
PyTorchは人気が急上昇しております。特に研究分野での利用が盛んで、最新の論文などでは多くの場合、実装にPytorchが利用されているようで、Pytorchの実装例などがGitHubなど公開されることも多くあります。以下を見ると代表的な深層学習フレームワークのTensorflowやkerasと並び非常に伸びていることがわかります。

PyTorchのインストール
以下のインストールmacOSを想定しております。
公式ページ: https://pytorch.org/get-started/locally/
pipを利用する場合
pip3 install torch torchvision
Anaconda経由でインストールする場合
conda install pytorch torchvision -c pytorch
まとめ
PyTorchはTensorflowなどと比べて後発ですが、近年非常に伸びているフレームワークです。また、最新の研究分野などでの利用も盛んで今後ますますシェアが拡大することが期待されます。どのフレームワークを利用するかは好みとなりますが、今からディープラーニングを学ぶ方にとっては、非常に良い選択肢だと考えられます。本記事をみなさんが深層学習フレームワークを選択する上での一つの材料にしていただけると幸いです。