AI開発の疑問を解決!開発の流れから必要なスキル・勉強法まで

最終更新日:

こんにちは!AINOWの橋本です。

現在、AIがブームになっています。囲碁や将棋で人間に勝ったというニュースがAIの能力の高さを示しただけでなく、最近ではあらゆる業界でAIの導入が進んでいます。

さに今、AIはビジネスチャンスなのです。そんな波がきているAIの開発に興味を持った人も多いと思います。

しかし、AIはそもそもどうやって開発するの?と疑問に思っている人もいるのではないでしょうか。

そこでこの記事では、

  • AIはどうやって開発するのか
  • AI開発に必要なプログラミング言語
  • どうやってAI開発についてを勉強すればいいか

について解説します。AI開発のスキルを身に着け、ビジネスチャンスを掴み取りましょう!

そもそもAIについてほとんど知らないから、AIについて詳しく知りたい!という方はコチラをチェック!

①そもそもAIはどうやって開発するのか?

AI開発について、こんな考えを持っていませんか?(参考:AI未来ポエム

AIを開発したい人
AIを開発して、売上増やしちゃうぞ!

…売り上げを上げるのは人の仕事です。

AIを開発したい人
Googleが囲碁で世界チャンピオンに買ったんで、それと同じレベルの人間より凄いやつ作っちゃうぞ☆

サーバー運用費で30億円、開発費ウン億円位用意する必要が…。

AI開発のスキルを身に着けるために、まずはAIの開発方法について学んでいきましょう。

この章では、

  • 企業にAIを導入する基本的な流れ
  • 開発に必要なプログラミング言語

について解説します。

企業にAIで開発する基本的な流れ

会社にAIを導入するまでの基本的な流れとして、

  1. 構想フェーズ
  2. PoCフェーズ
  3. 実装フェーズ
  4. 運用フェーズ

の4段階があります。

構想フェーズでは、その企業で取り組んでいる業務・事業がAIで自動化できるか検討します。そして、AIを導入するために必要な「定義」を作成し、データを収集・整理。この時には、実際にビジネスとして利益を出せるかという経済価値の観点で考えることが必要になります。

PoCのフェーズでは、機械学習の仮モデルを構築し、構想段階で考えたものが実現可能かを検証します。実際のデータを用いて、テーマとして選定した問題を解決する機械学習モデルの構築にトライする段階です。

次の実装フェーズでは、Pocフェーズで構築したモックアップを本番運用で求められる精度や実行速度へと進化させます。また、機械学習モデルを中心に、構想した業務やサービスを実現するシステムにくみ上げていきます。

最後の運用フェーズでは、これまでのフェーズを経て構築された機械学習モデルを搭載したシステムを運用していきます。構築した機械学習モデルの精度のモニタリングとシステム全体の保守を行います。

これらの工程を経て、AIは実際の場面で活用されます。AIを開発するだけでなく、そのAIが本当にビジネス価値を生みだすことができるのか考えることや、開発した後も精度を向上し続けるために検証を繰り返していくことが必要になります。

AI開発に必要なプログラミング言語

AI開発に必要なプログラミング言語を紹介します。AIが開発できるプログラミング言語は以下です。

  • Python(パイソン)
    現在の機械学習の分野でのシェアナンバーワン。
  • R
    統計解析に強み
  • Julia(ジュリア)
    高速動作。文法がシンプルで美しい。
  • JavaScript
    Webシステムとの相性がいい。
  • C++
    難易度が高いが、最高水準の速度を出すことが可能。
  • Java
    仮想マシン(JVC)によって、環境に依存せず動作可能。
  • Haskell(ハスケル)
    バグに強い。安全性はピカイチ。
  • Matlab(マトラボ)
    行列計算が簡単にできるが、ライセンスを購入する必要アリ。
  • Prolog(プロログ)
    論理プログラミング言語。
  • Lisp(リスプ)
    最も古いプログラミング言語の1つ。高い柔軟性と拡張性を持つ。

それぞれの言語に特徴があり、自分の開発しようと思っているAIを考えた上で選択する必要があります。自分がどんなAIを開発したいのか?を考えて選ぶようにしてみてください。

学ぶ言語はPythonがおススメ!

AI開発の言語はたくさんあってどれが選べばいいかわからないという人には「Python」がおススメです。

なぜならPythonは「より使いやすいプログラミング言語であること」を目的に開発された言語であり、機械学習に取り組むための強カな周辺技術が整備されているからです。

機械学習に必要な、基礎的な数値計算を高速で行う「Numpy」や、機械学習のライブラリである「scikit-learn」、ブラウザ上でインタラクティブにプログラミングを進められる「JupyterNotebook」など、いずれも機械学習をするうえで非常に便利になってきます。

Pythonの勉強方法について詳しくはこちら

②AI開発のために必要なモノとは?

AI開発時に必要になるハードウェア

機械学習には、大量の学習データが必要になります。そのため、データを保管するストレージや複雑な計算を処理するためのコンピューティングリソース(計算資源)が必要になります。

しかし、これら全てを揃える必要はありません。クラウドサービスが使えるからです。クラウドサービスは機械学習に必要な処理をすることが可能な上に、終了したら返すというような処理の時間分だけ費用を払うことができます。

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

ライブラリとは、「教師あり学習」や「教師なし学習」「強化学習」などの機械学習の各手法の実装や、機械学習を行うために必要になるさまざまな処理がまとめられたものです。ライブラリを使うことで、簡単に機能を呼び出し、実行することができます。

代表的な例として、以下が挙げられます。

  • TensorFlow(テンソルフロー)
    Google社で開発された機械学習、深層学習のためのライブラリ。Google社内で使われていたものがオープンソース化された。特徴は、ニューラルネットワークと呼ばれる脳の機能の特徴を計算によってシミュレーションできること。
  • Chainer(チェイナ―)
    国産の深層学習のライブラリ。直感的な操作が可能。日本語での情報収集が容易なため、トラブルにも対応しやすい。ニューラルネットワークのデザイン・学習、評価といったモデル構築をサポートする。
  • PyTorch(パイトーチ)
    Facebook社が開発元の深層学習フレームワーク。Chainerをフォークしたものであり、コミュニティも活発。柔軟かつ簡単にニューラルネットワークを構築することができる。
  • Keras(ケラス)
    TensorFlowまたはCNTK、Theano上で実行可能な高水準のニューラルネットワークライブラリ。ニューラルネットワークをより簡単に構築することできる。TensorFlowのコアライブラリでKerasをサポートしている。
  • scikit-learn(サイキット・ラーン)
    2007年にスタートしたPythonの代表的な機械学習のライブラリ。サンプルのデータセット(トイデータセット)が付属しているため、インストールしてすぐ機械学習を試せる。初学者でも簡単に機械学習を試せるのが特徴。
  • Caffe
    Googleに在籍するエンジニアが開発した、オープンソースのディープラーニングのフレームワーク。
  • CNTK
    ディープラーニングのためのツールキット
  • R言語
    統計解析のためのプログラミング言語。開発環境で、さまざまな機械学習アルゴリズムのバッケージが利用できる。

市販の統計解析ソフトにも、これらを含めさまざまなライブラリが組み込まれています。ただし、それぞれのソフトには特徴があるため、自分に合ったものを選択することが必要です。

③AI開発スキルを学習する方法

これまでAIの開発方法・知っておくべき知識・用意しておきたい物の紹介をしてきました。では、実際にどうやって勉強すればいいのか?という方法論について見ていきましょう。

独学

ネットや本にはさまざまな情報があります。まずはそれらを元にAI開発について独学していくことがおススメです。

とはいえ、何から勉強すればいいかわからないという人も多いと思うので、おススメ本をご紹介します。

機械学習・ディープラーニングを初めて学ぶ人にオススメ!

『ビジネスパーソンのための人工知能入門』

人工知能・機械学習・ディープラーニングについて基本的な解説、人工知能の背景・歴史、そしてプロジェクトとして導入していくところまで、わかりやすくまとめられています。AIと呼称されている技術のアウトラインを掴むことができます。

ビジネスで人工知能を活用するために知っておくべき内容がまとめられており、難しい数式やプログラムは出てこないので、読みやすい内容です。

「JDLA推薦図書(2019年追加)」

機械学習・ディープラーニングの実装を学習したい人にオススメ!

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

ディープラーニングをあえてライブラリを使わずに、初歩的なところから1つずつPythonで実装する本です。

ゼロから実装するため、ディープラーニングに対する理解が深まり、数式を読むのが苦手な人でも仕組みを理解できます。続編の自然言語処理編では、自然言語処理で重要な手法であるword2vec, LSTM, seq2seq, Attentionについても、分かり易くゼロから説明・実装されています。

まずはこれらの本を読みながら学習を進めてみましょう。もっとおすすめ本をチェックしたいという方はコチラをご覧ください。

スクールに通う

「独学である程度理解はできたけど、そこからなかなか進めない…。」
「そもそも独学だけだとやる気がでない」

という方はスクールに通うこともおススメです。

ただし、スクールに通う時の注意点としては、「受け身にならないこと」です。スクールはあくまで自分の学習の補助的な存在でしかありません。

スクールに通えばAIが開発できるようになるという考え方ではなく、自分からスクールを能動的に活用できるようにしましょう。

オンラインサービスを活用する

最近では、オンラインでAI開発を学べるサービスも増えてきました。なかには無料で学習できる講座もあります。これらのオンラインサービスを使えば、隙間時間などに手軽にAI開発について学べます。

以下、AI開発について学べるオンラインサービスを紹介します。参考にしてみてください。

Aidemy

AI academy

codexa

まとめ

AIの開発方法、AI開発をするためのリソース、AI開発を身に着ける方法について見てきました。

これから、AIを開発する仕事の需要は上がっていくことが考えられます。そんな中でAI開発のスキルを身に着けることは、あなたの市場価値を高めてくれるでしょう。

さぁ、これからAI開発の第一歩を踏み出しましょう!

[参考書籍] 韮原祐介(2018)『いちばんやさしい機械学習プロジェクトの教本 人気講師が教える仕事にAIを導入する方法』
2019年7月26日 2019年10月24日更新

無料メールマガジン登録

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

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

規約に同意する