AI、機械学習って何?
2020年01月17日
AIとは
AIとは人工知能(Artificial Intelligence)の略称です。人工知能の正確な定義は専門家によって様々ですが、一般的には「人間の知能をコンピュータを用いて模倣したもの」のことを言います。
少し前だとGoogleが開発したAlpha Goという囲碁のプログラムが話題になりました。最近では、AmazonやGoogleなどが出しているスマートスピーカーや、NETFLIXのレコメンド機能などにもAIが用いられています。
また、今後は自動車の運転や経理の仕事などもAIがやってくれるでしょう。「今まで人間がやっていた退屈な仕事をAIがすべて代わりにやってくれる。」そんな未来が来るのは案外遠くないのかもしれません。
機械学習とは
AIとよく似た言葉に「機械学習」という言葉があります。しかし、AIと機械学習の違いを正確に理解している人は少ないように思われます。
そこで、この2つの言葉の違いについて説明します。機械学習とは、「コンピューターが大量のデータを学習し、分類や予測などのタスクを遂行するためのアルゴリズムを自動で構築する技術」です。
なので、AIの中に機械学習という括りがあるわけです。つまりAIの方が機械学習よりもざっくりとした広い括りだと言えます。
AI・機械学習に使われる言語はPython
AIや機械学習によく用いられるプログラミング言語はPython一択です。
なぜなら、Pythonは数学的な計算のためのライブラリが充実しているのが特徴の1つであり、AIや機械学習のライブラリも豊富なためです。
具体的には、TensorFlowやKeras、Scikit-learnなどのライブラリがよく用いられます。他のプログラミング言語ではPythonに比べてライブラリがあまりありません。
そのため、これらのライブラリの使い方をマスターすることが、機械学習の習得への第一歩だと言えるでしょう。
Pythonでできること
PythonはAIや機械学習以外にも様々な分野で活用されているプログラミング言語です。ここでは、Pythonがどのような分野で用いられるのかをご紹介します。
Webアプリ開発
PythonはWebアプリ開発にも用いられています。その際には、フレームワーク(Webアプリを簡単に作るための仕組み)が用いられる場合がほとんどです。
よく用いられるフレームワークとしては、FlaskやDjangoなどが挙げられます。FlaskはWebアプリを作成するための必要最低限の機能が備わったフレームワークです。
簡単にWebアプリを作ることができる反面、大規模なWebアプリを作るのには向いていません。
一方のDjangoは、大規模なWebアプリの開発に向いています。ただし、学習コストが高いのが短所ではあります。
用途に応じてどちらのフレームワークを使うのか判断する必要があるでしょう。余談ですが、YouTubeやInstagramなどのWebアプリにもPythonが用いられています。
データサイエンス
先ほどもお伝えしましたように、Pythonは数学的な計算が得意なライブラリが豊富です。
そのため、Pythonはデータサイエンスの分野でもよく用いられています。データサイエンティストになるにはPythonだけでなく統計学などの専門知識も必要になります。
データに基づいて経営判断をする上で、近年はデータサイエンティストの役割が益々重要になってきています。
業務効率化
Pythonを用いれば、日々の業務効率化も簡単にできてしまいます。
具体的には、膨大な数のファイル名を書き換えるといったちょっとした作業はもちろんのこと、ExcelマクロのようにExcelの中身を自動で書き換えるといったこともできてしまいます。