AIをシステムに導入するプロジェクトがこれからますます増えていくと感じています。同時にAIにに乗り遅れてはいけないという危機感もあります。エンジニアとして生きていくためはシステムへのAIの導入方法をある程度は知っておきたいです。
その要望を満たす1冊が株式会社オプティム監修、山本大祐著者の『課題解決とサービス実装のためのAIプロジェクト実践読本』です。これは欲しかった一冊です!
基本的な知識からプロジェクトの立ち上げ方までを体系的にまとめられているように思いました。また、最後にケーススタディがあるのも嬉しい部分です。
- 第1章 AIで何かやってみせてよ
- 第2章 AIの基礎知識
- 第3章 AIプロジェクトの立ち上げ
- 第4章 AIコーディングの基礎
- 第5章 AIサービスの提供と運用
- 第6章 AIプロジェクト・ケーススタディ
- まとめ
第1章 AIで何かやってみせてよ
AIプロジェクトが抱える課題が提示されます。人手不足の問題、倫理の問題などがあり、AIプロジェクトの難しさを感じられる章です。ユーザーとベンダーを紐付ける「ジェネラリスト」がAIプロジェクトで重要なポジションになりそうです。
第2章 AIの基礎知識
AIの歴史と種類がまとめられた章です。人工知能を支える手法に機械学習(Machine Learning)と深層学習(Deep Learning)がある、というのが押さえておくポイントでしょうか。
機械学習
AI研究の一分野で、既知のデータから規則性を見出す手法。大きな分類として「教師あり学習」「教師なし学習」「強化学習」がある。
教師あり学習
事前に与えられたデータを学習して答えを予測。
教師なし学習
構造や法則を見出す手法。クラスター分析、アソシエーション分析がある。
強化学習
価値を最大化するような行動を学習する。
深層学習(ディープラーニング)
多層構造のディープニューラルネットワークを用いて特徴量をデータから学習する手法。代表的なアルゴリズムとして「CNN」と「RNN」がある。
CNN(Convolutional Neural Network)
畳み込みニューラルネットワーク。畳み込み層とプーリング層を交互に繰り返し、画像の特徴を維持しながら抽象化するような処理。コンピュータビジョン分野で実用化が進んでいる。
RNN(Recurrent Neural Network)
再帰型ニューラルネットワーク。時系列データを扱うことのできるニューラルネットワークの一種。中間層への自己フィードバッグができるのが特徴。
第3章 AIプロジェクトの立ち上げ
AIプロジェクトに特化した開発者プロセス、契約、見積りを解説した章になります。実践的な内容が書かれているため、この章を読むだけで、プロジェクトを一から試行錯誤して立ち上げるよりも幾分と楽になると思います。
第4章 AIコーディングの基礎
「Jupyter Notebook環境」である「Google Colaboratory」を使ってCNNの一種である「Mask-RCNN」を用いた動体検知、セグメンテーションの実行方法を解説しています。一から手組みするというよりも、すでにあるフレームワーク、ライブラリ、サービスをうまく組み合わせて作るという実装力が今後求められるスキルになっていくと感じます。
第5章 AIサービスの提供と運用
AIサービスの提供方式がまとめられています。例えばソフトウェアの面では「オープンソース」「有償SDK」「WebAPI」「オンプレミスパッケージ」があり、これらをターゲットやビジネスシナリオを考慮して選択していくことが重要なポイントかと思います。
第6章 AIプロジェクト・ケーススタディ
「農業」「医療」「建設」「小売」に対してAIを適用した例が紹介されています。実用化の効果と課題が書かれており、知見が広がる章です。