HOME/ AINOW編集部 /プログラミングで自分だけのAIを作りたい? 必要な知識や技術などを解説
2020.01.21

プログラミングで自分だけのAIを作りたい? 必要な知識や技術などを解説

最終更新日:

この記事を開いたあなたに語りかけています。

きっと「自分だけのAIを作りたい」という方や「プログラミング学習の一環としてAIを作りたい」といったことを考えているのではないでしょうか?

この記事では、AIをプログラミングで開発していく上で必要な知識やツールを解説していきたいと思います。

特にプログラミングやAI初心者の方が対象の記事です。

AIのキホンを知ろう

まずAIを開発するためにはキホンの知識を知っておくことが重要です。

しっかり歴史から立ち返って学んで行きましょう。

以下の記事でAI・人工知能の全体感を解説しています。

特に、今のAIブームの火付け役となったディープラーニングについてもしっかり学んでおきたいところです。

▼ディープラーニングについて詳しくはこちら

▼関連書籍

 

人工知能は人間を超えるか (角川EPUB選書)

著者 松尾 豊

 

 

深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト

著者 浅川 伸一

 

▼その他のおすすめの書籍はこちら

プログラミングでAIを開発

前章でAIがどんなものかわかったと思います。

はい、ここで問題です。AIの中で機械学習の手法は大きく分けて三つありますが、なんだったでしょうか。答えられなかった方は前章のAIのキホンをもう一度読みましょう。

次にAI開発に必要な道具を紹介していきます。

エディタ・IDE

プログラミングを行うためには、まずプログラムを書くための環境を用意しましょう。

もちろん、ターミナルまたはコマンドプロンプト上でvimやemacsなどでプログラムを書くのも良いですが、わかりやすく便利な機能の多いVisual Studio Codeや、PyCharm、Jupyter Lab(Jupyter NoteBook)での開発をオススメします。

  • Visual Studio Code

Microsoft社の多機能テキストエディタです。

高速で動作し、標準でも便利な機能が多いことや多くの拡張機能を揃えています。

リンク先よりダウンロード、インストール可能。

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

  • PyCharm

JetBrains社のPythonのIDE(統合開発環境)です。

テキストエディタと違い、これ一つでコーディングから実行まで行うことができます。

標準でリファクタリングやデバッグなど多くの機能を持っていますが、動作はエディタより重くなります。

リンク先よりダウンロード、インストール可能。

https://www.jetbrains.com/ja-jp/pycharm/

  • Jupyter Lab(Jupyter NoteBook)

Python上で動作するテキストエディタになります。

データ分析を行いたいときに、結果を視覚的にすぐに見ることができます。

基本的にターミナルまたはコマンドプロンプト上で”pip install jupyterlab”コマンドでインストールできます。(Pythonがインストール済みであること)

https://jupyter.org/

プログラミング言語

AIを開発するためのプログラミング言語は、基本的にPythonという言語一択と考えて良いでしょう。

もちろんPython以外にも、C++やJavaなど他の言語でもAIを開発していくことは可能なのですが、PythonにはAI開発に便利なフレームワークが用意されているので、他の言語よりも比較的簡単に作ることができるのでオススメです。

▼Pythonについて詳しくはこちら

フレームワークを用いずに自らAIの技術を実装していくことはとても大変ですが、知識や実装力をつけることができるので、自信がある人はぜひチャレンジしてみるとよいでしょう。

▼関連書籍

 

入門 Python 3

著者 Bill Lubanovic

 

フレームワーク・ライブラリ

PythonでAIの開発を便利にしてくれるフレームワーク、特にニューラルネットワークを実装するフレームワークを紹介していきます。

TensorFlow

Google社で開発された機械学習、深層学習のためのライブラリです。Google社内で使われていたものがオープンソース化された。特徴は、ニューラルネットワークと呼ばれる脳の機能の特徴を計算によってシミュレーションできる。

▼関連書籍

 

TensorFlowではじめるDeepLearning実装入門 (impress top gear)

著者 新村 拓也

 

Keras

TensorFlowまたはCNTK、Theano上で実行可能な高水準のニューラルネットワークライブラリ。ニューラルネットワークをより簡単に構築することができる。TensorFlowのコアライブラリでKerasをサポートしている。

▼関連書籍

 

PythonとKerasによるディープラーニング

著者 Francois Chollet

 

 

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

著者 Antonio Gulli

 

 PyTorch

Facebook社が開発元の深層学習フレームワーク。Chainerをフォークしたものであり、コミュニティも活発。柔軟かつ簡単にニューラルネットワークを構築することができる。

▼関連書籍

 

現場で使える!PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

著者 杜 世橋

 

つくりながら学ぶ! PyTorchによる発展ディープラーニング

著者 小川雄太郎

 

Chainer

Preferred Networks社が開発する国産の深層学習のライブラリ。直感的な操作が可能。日本語での情報収集が容易なため、トラブルにも対応しやすい。ニューラルネットワークのデザイン・学習、評価といったモデル構築をサポートしている。

Chainer v7以降はPyTorchに移行されるとアナウンスがありました。今後最新のAI技術を用いて開発を行うには、PyTorchや他のものを選択すると良いでしょう。
https://chainer.org/announcement/2019/12/05/released-v7-ja.html

ニューラルネットワーク以外にも、強化学習のフレームワークや教師なし学習のフレームワークもあるので、自らが実装したい手法に合わせて必要なライブラリやフレームワークを選定していくと良いでしょう。

また、開発したAIをWebサービスなどプロダクトとしてリリースしたい場合には、クラウド・サーバーの知識やデータベースの知識も必要になってくるので、しっかり学びたいところですね。

もっと詳しく

ここまで、ざっくりとAI開発に必要なAIの知識や道具がわかったことでしょう。

しかし、これだけではAIの開発には不十分です。

AIを開発する上で、どんなAIを作りたいのか、どんな手法を用いるのか、そして、どのように実装するのかといったより具体的な部分を知る必要があります。

AIを実際に開発していくための知識と技術を学ぶためには、独学で書籍を使って学ぶ方法や、Web学習サービスで学ぶ方法、学習スクールに通うといったことが考えられます。

オススメ書籍

 

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

著者 斎藤 康毅

 

 

見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑

著者 秋庭 伸也

 

 

機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)

著者 加藤 公一

 

学習サービス・スクール

専門的な知識を獲得することができる学習サービスやスクールが増えています。
無料で学べる講座も増えているのでチェックしてみてください。

Kaggleに挑戦してみよう

Kaggleというのは、より精度の良い機械学習モデルを構築するデータコンペティションになります。

企業や研究者がデータと課題を投稿し、コンペ参加者は精度の良いモデルを作ってテータの分析能力を競い合います。

Kaggleに参加することで、実装力や知識が深まるだけでなく、実際に上位の人たちがどのようなコードを書いているのか見ることができるのでスキルアップに繋がりますよ。

▼関連書籍

 

Kaggleで勝つデータ分析の技術

著者 門脇 大輔

 

終わりに

本記事では、AIを開発していくために必要な知識や道具などを解説・紹介していきました。

AIを開発していくためには、AIの知識やプログラミングの実装能力など、初心者には大変なところが多いと思います。

しかし、数年前に比べて初心者向けの情報や本が多くなってきているので、諦めず頑張りたいところですね。

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する

あなたにおすすめの記事

【AINOWロゴがリニューアル】生成数は2000以上! AIでロゴ生成した裏側を全公開

野球もデータドリブンの時代に ー野球特化の姿勢推定AI「Deep Nine」がリリース 【プロ球団で試験導入】

先週のAI関連人気ツイートTOP20!【2020/06/01更新】

2020年6月のAI関連イベントまとめ

AI-OCRとBPOを組み合わせ一括した文書の電子化をサポートする「Documentation One」がリリース

中外製薬とFRONTEOがライセンス契約、創薬プロセスにAIを活用

ニュースは新型コロナウイルスに過剰反応しているのか?

東大・松尾氏とABEJA・岡田氏がDXをテーマに対談【6/5に無料開催】

スターバックスはコーヒー事業者ではない ― データテック企業なのだ

フォトラクションが5.7億の資金調達、AIを活用した建設特化BPOサービスの開発に着手