AIプログラミングについて学ぼう

AIプログラミングについて学ぼう

AIで使うさまざまな言語でのAIプログラミングを学べる記事一覧です。

AIプログラミングで使う言語一覧

Python、R言語、C++、Juliaおすすめのプログラミング言語4つをご紹介いたします

Python

Python

文法構造がわかりやすく、少ないコードで記述でき、機械学習に利用するライブラリが充実している言語

R言語

R言語

言語はもともと統計学・データ解析に使 用されていて、主に学術分野で使用されていた言語

C++

C++

AIサービスの開発だけでなく様々な開発分野で使われていて、プログラミング言語の元祖とも言われる言語

Julia

Julia

JITコンパイラという技術により、スクリプト言語でありながら高速処理が可能な言語

AI研のおすすめ言語はPython

プログラミング画面

豊富なライブラリとフレームワークで世界中のAIエンジニアに選ばれているPython

Pythonとは、近年世界中で人気を集めているプログラミング言語のひとつ。Webサービスやアプリケーションの開発、データ分析などにも使われています。最近は、多くのAI開発エンジニアや企業にもPythonが選ばれているのです。例えば、インスタグラムやユーチューブにもPythonの機械学習が活用されています。今後、ビッグデータ解析やAI開発が盛んになることから、Pythonの需要は一層高まるでしょう。後ほど解説しますが、Pythonは学びやすいので、独学やコースに通うことで身に着けられます。

Pyton5つの特徴

  • 豊富なライブラリとフレームワーク
  • 入門者でも使いやすい
  • シンプルな文法とコード
  • 充実のコミュニティサポート
  • 一番人気言語

ディープラーニングにおすすめのライブラリ

ライブラリとは「便利なプログラムをを集め、ひとまとめにしたファイル」のことをさし、
各言語で目的ごとに開発に最適なライブラリが存在します。

Pythonライブラリ

Pythonライブラリ

海外で流れるディープラーニングの情報は、Pythonを前提としているため、他の言語を学んでいると情報取得が遅れる場合があります。Pythonであれば、海外でも最新のディープラーニングに特化した便利なファイルをいくつも使用できるのでオススメです。

Pythonライブラリ3選

・Numpy(https://numpy.org/)

Pythonで数値計算を効率的におこなうことのできるライブラリです。オープンソースとなっており、誰でも無料で使用することができます。

・Pandas(https://pandas.pydata.org/)

データの読み込みやグラフ化、分析などの作業を簡単にできるようになります。非常に高速です。また、使いやすいのも特徴の一つになります。

・Matplotlib(https://matplotlib.org/)

Matplotlibは、Pythonでグラフをかいたり、イメージを表示する時に使用するライブラリです。誰でも無料で使用することができます。

TensorFlow

TensorFlow

TensorFlowとは、Google社が開発している、ディープラーニング向けのフレームワークです。ニューラルネットワークを使用した学習を行うための機能がオープンソースで提供されています。対応言語はC言語、C++、Python、Java、Goと幅広く、Pythonは 3.5、3.6のバージョンで利用できます。

TensorFlowでできる学習や活用事例

・画像認識

TensorFlowを使ってディープラーニングができるため、画像認識ができる独自のAIを作ることができます。また、複雑な断層運動学的解析と構造応力テンソル反転用のプログラムwin-Tensorプログラムも公開されています。

・音声認識

ディープラーニングは、音声の認識にも適していることがわかってきました。TensorFlowを使ってディープラーニングをすることで、画像認識と同じような仕組みで音声を認識できるAIを作ることができます。声の質や高低などで一人一人の声を区別できるようになります。

AIを作るために必要なビッグデータの量とは?

ビッグデータ

学習に必要なビッグデータってどれくらい?

一般論では顔検出と顔認識系は10〜20万枚くらい、それ以外だと1万〜6万枚くらい必要だと言われています。ただ上の目安となるデータ量を集めればいいかといったらそういう問題でもなく、トライアンドエラーを繰り返して適切なデータ量に毎回設定し直していく必要があると考えられます。 ここでデータの量と共に大事になってくるのが、データの質です。 正しいデータを集め、与えてあげる必要があり、それは多すぎても、少なすぎても、まったく関連のない情報であってもだめです。 予測するのに邪魔な情報は捨てなければなりません。

画像データ取得サイト例

  • FaceScrub
  • THE MNIST DATABASE of handwritten digits

機械学習ライブラリ紹介記事PickUP

AIは構築後の機械学習も重要です、効率的な学習のためにライブラリを導入しましょう

Scikit-learn

Scikit-learn

機械学習全般のアルゴリズムが実装されたライブラリなので、根強い人気を持っています。“統計学・パターン認識・データ解析”の技法が豊富に使うことができるので、特に研究者の間で人気があります。

OpenCV

OpenCV

画像処理・画像解析および機械学習等の機能を持つオープンソースのライブラリのことです。オープンソースですので、基本的に無料で使用することができ、元々は大手企業インテルが開発・公開しています。

PyTorch

PyTorch

PyTorchとは、高水準汎用プログラミング言語の1つであるPythonに向けた機械学習ライブラリです。開発元はFacebookの人工知能研究グループAI Researchlabによるものであり、2016年10月に公開されました。