目次
* 1. はじめに
* 2. PyTorchについて
1. はじめに
人工知能(AI)は今、3度目のブームを迎えているといわれている。2015 年、人工知能は画像認識の分野で人間の識別能力を凌駕する成績を収めた後、将棋やチェスのチャンピオンさえにも勝利した。そして2016 年、人工知能はついに囲碁のチャンピオンにさえも勝利した。それから人工知能は車の自動運転システムに組み込まれ、人の安全の守ったり、スマートフォンやPCにも組み込まれ、人間の声を認識し、さらには翻訳するということも成し遂げるようになった。このように、人工知能の発展によって、これまでSF映画で見ていた世界が、今ではごく身近なものとなった。
このような、人工知能の飛躍的発展の裏側では、「ディープラーニング(深層学習)」という技術が重要な役割を担っている。ディープラーニングが生まれた当初は、研究者や技術者の間でのみ使われており、ディープラーニングの使用は限定的であった。しかし今や、Tensorflow やKeras、PyTorchなどのディープラーニングを実装するためのフレームワークが登場してからは、研究にも関わらなければ、プログラムも得意でない一般の人もディープラーニングを実装し、人工知能を「簡単に」つくることができるようになった。
特に、PyTorch は近年人気が急上昇しているフレームワークである。以下のGoogle Trendの図は、ディープラーニングフレームワークとして主要である、Tensorflow, Keras, Chainer, PyTorchの検索トレンドを時系列データとして示したものである。この図をみると、TensorflowとPyTorchが二大トップであることが分かるが、棒グラフをみると検索数としては、PyTorchの方が勝るようだ。
以下の図は、日本の地方別でどのディープラーニングフレームが良く検索されたかを示す図である。北海道、東北、北陸・信越は、TensorFlowに興味がある様子だが、関東や関西ではPyTorchに関心があるようだ。
国内だけでなく、海外でもPyTorchの人気は高く、最新の技術をPyTorchで実装して一般公開するといった流れがある。そのため、PyTorch が扱えれば誰もが最新の技術を扱うことができるようになった。
とはいっても、ディープラーニングを実装するにはプログラミング知識が多少必要である。さらにはディープラーニングに関する知識も必要となり、一般の人の誰もが容易に使用できるものではない、というのが現状である。また、「ディープラーニングには膨大な計算量が求められるのでハイスペックなPCが必要」と聞き、あきらめてしまう人も少なくないであろう。
そこでこのe-learningシステムでは、PyTorchをテーマに、次のような読者を対象にコンテンツを作成していく。
– ディープラーニングの知識が全くないけれど、ディープラーニングに触れてみたい
– 自分でもディープラーニングを使って何か作ってみたい
– ハイスペックなPCはないけれど、ディープラーニングを動かしたい
– そもそもディープラーニングを使って何ができるのかを知りたい
– ディープラーニングを使ってどんな「嬉しいこと」があるのかを知りたい
PyTorch の基本的な事柄を中心に解説しているので、PyTorchを触ったことがなくても、コンテンツを見て、手を動かすだけで、自分の考えていることを実装できるようになります。
2. PyTorchについて
PyTorch(パイトーチ)は、Facebook社が提供するオープンソースであり、Pythonでディープラーニングコードを書くことを容易にするディープラーニングフレームワークである。PyTorchは、2つのものを組み合わせて作られている。
1つ目は、PyTorchの名前の由来にもなっているTorch(トーチ)である。Torchはプログラミング言語であるLua(ルア)をベースとしたニューラルネットワークライブラリで、その歴史は2002 年に遡る。
2つ目は、2015 年に日本で作られたChainer(チェイナー)である。Chainerは、Preferred Networks社で作られたニューラルネットワークライブラリの1つで、動的グラフを採用している。これにより、ネットワークの作成や学習がしやすくなった。これがPyTorchが好まれている大きな理由である。このようにPyTorchは、TorchにChainerのアイデアを組み合わせて作られたもので、近年人気のDeep Learningフレームワークとなっている。
PyTorchには、テキスト、画像、音声操作を支援するモジュールや、ResNetやAlexNet, VGGのような有名なニューラルネットワークもライブラリに含まれている。また、Twitter社、Salesforce社、Uber社、NVIDIA社のような大企業にも取り入られており、ディープラーニング界に急速に浸透している。