英語記事の和訳です。訳が雑なのは目をつぶってください...
原文
Top 10 Trending Artificial Intelligence Frameworks and Libraries
訳文
人工知能はプログラミング世界の未来です。AIテクノロジーの需要が増加するのを目の当たりにして、多くの開発者はだんだんとこのサイエンスに親しむようになってきました。AIとその実装方法について、あなたが学び始めるときに、一番始めに思いつく質問は「最も学ぶべき言語/フレームワーク/ライブラリは何だ?」でしょう。その質問に答えるのがまさに今日この記事で紹介する、全てのプログラマが知るべきトップ10AIフレームワーク・ライブラリです。
正直言って、一部の言語にはAIを実装するのに適していないものもあります。例えば、AIにハマっている多くのRuby開発者は、彼らの最も愛する言語を見捨てて、Pythonに乗り換えています。なぜならPythonの方がAIを実装するのに適しているからです。しかしながら、C++のようなAIフレンドリーな言語は多くのフレームワークやライブラリを出しています。我々はそれらを調べ、ベストなものを選び出しました。以下に挙げるのが、そのリストです。
- TensorFlow
- Torch
- Caffe
- Theano
- Amazon Machine Learning
- Accord.Net
- Scikit-learn
- Apache Mahout
- Microsoft Cognitive Toolkit
- Keras
それぞれのフレームワーク・ライブラリの詳細を見ていきましょう。そしてこれらのフラームワーク・ライブラリがなぜ選ばれたのか、その理由を紐解いていきましょう。
TensorFlow
TensorFlowはある二つの理由によって、このリストの一番上に持ってきました。一つ目にこれは、オープンソースであるということです。二つ目の理由は、TensorFlowは、AMD、SAP、Google、Intel、Nvidiaといったテック企業の巨人たちに人気のAIツールとなっていることです。GoogleのAI部門によって開発され、莫大な数値コンピューティングに完璧に適しており、バイオサイエンスなど多くの分野で使われています。AIプログラミングを始めたての人にとって完璧なフレームワークといっていいでしょう。
Torch
これはLuaJITプログラミング言語上で動くGPU志向のAIコンピューティングフレームワークです。このフレームワークもオープンソースで、十分な量のドキュメントとサポートがあります。また、TorchはGoogle、Facebook、Purdue、NYU、Twitterにも使われています。
Caffe
Caffeは、Ph.D.プロジェクトとして、Yangqing Jia(彼は今Facebookで働いています)によって独自に作られ、世の中で最も人気のフレームワークの一つとなりました。Caffeの画像分類デモはチェックするべきです。そのデモはまだ完璧ではありませんが、少なくとも犬と猫を見分けることはできます。
Theano
すでに述べたように、PythonはAIとディープラーニングに完璧に相性のいい言語です。この言語には、すでに多くの注目すべきライブラリが存在しています。その一つが2007年から開発されているTheanoです。定義、最適化、評価といった数学表現で動くmain関数を持ちます。
Amazon Machine Learning
AWSは世界中の何千のビジネス、組織で使われている機械学習プラットフォームをたくさん提供しています。これらのプラットフォームは主要なAIフレームワークで動いており、多くのすぐに使えるAIソリューションを提供します。
Accord.Net
これは主に音声・画像処理を目的としたかなりの数の既成のライブラリを提供する.NETベースのAIフレームワークです。分類、回帰、クラスタリング、分布といった最も人気のあるAI分野の問題を扱うことができます。
Scikit-learn
2007年から開発されるPythonベースの機械学習ライブラリで、データマイニングやデータ分析はもちろん主要なAIの問題を扱うことができます。
Apache Mahout
Mahout by Apacheは線形代数を使う機械学習フレームワークです。Scala DSLを使い、主要なAIの問題を扱うのに適しています。
Microsoft Cognitive Toolkit
もちろん我々はMicrosoftの機械学習ベイビー、Cognitive Toolkitについて述べずにはいられません。オープンソースであり、様々なAIアプリケーションに適しています。
Keras
これはPythonで書かれたもう一つのフレームワークです。Kerasの特徴の一つは、TheanoやTensorFlowのような他のフレームワークの上で動かせるという点です。すぐに実験できるということに焦点を当てています。
最後に
AIはプログラミング世界にとって非常に魅力的なものです。意識の高いソフトウェア企業はすでに専用のAI開発チームを持っていることでしょう。しかしながら、卓越したAIスペシャリストになるためには、知性、才能、根気、そしてハードワークが必要です。あなたがこれらを持っているとすれば、この分野に参入するのは今がベストなタイミングです。あなたがPythonのような基本的なプログラミング言語と機械学習の基礎を知っているのなら、あなたに必要なのは、正しいAIフレームワークを選択し、働き始めることだけです。
私感
正直上の記事が本当にTop 10 AI framework/libraryなのかは謎です。PyTorchが入っていないのが気になりました。