DX(=Digital Transformation)は、ビジネスや技術、双方の幅広い観点から理解する必要があります。
本記事では、DXのDigital(技術)領域から、『AI』と『ソフトウェア』について紹介します。
AIとソフトウェア
DXの実現は、様々な技術により支えられています。
今回は、デジタル世界(Cyber World)を支える『AI』と『ソフトウェア』について、おさえるべきトレンドを紹介します。
AI
AI(人工知能)
AIは英語で「人工知能」を意味するArtificial Intelligence、「人間が行う知的作業をソフトウェアで実現する技術」を意味します。
AIは、下記のように大きく「汎用型人工知能」と「特化型人工知能」に分類することができます。
汎用型人工知能 | 異なる領域で多様な複雑な問題を解決する (人間の脳の全体を再現する) |
特化型人工知能 | 個別の領域において知的にふるまう (人間の脳の一部個別機能を再現する) |
現状では「特化型人工知能」の実現に留まっていますが、その研究分野は多岐にわたります。
画像認識 | 画像から物体を認識(例:カメラ) |
自然言語処理・音声認識 | 人間の自然言語・発話を機械で処理 (例:機械翻訳、音声翻訳、音声アシスト) |
パターン認識 | 顔や指紋、静脈などの生体認証(例:顔認証) |
例えば、自然言語処理・音声認識分野では、「会話型AIプラットフォーム(音声アシスト)」の存在により、AIスピーカーが既に我々の生活に普及しています。
AIスピーカー | 音声アシスト |
Amazon Echo | Alexa |
Apple HomePod | Siri |
Google Home | Google Assistant |
Microsoft Invoke | Cortana |
LINE Clova WAVE | Clova |
機械学習
機械学習は、AI(人工知能)で提唱されている研究分野のうち、基礎研究に相当する一分野で、人間が行う「学習」を機械で実行しようとする技術です。
サンプルデータを解析、その結果から規則性やルールを獲得しアルゴリズムを発展させる手法です。
これまでのAIと異なり、規則性やルールを人間ではなく機械が生成するのが機械学習の特徴です。
これを機械に実現させる手法がディープラーニングです。
機械学習ライブラリ・APIの活用
AI、特に機械学習やディープラーニングは、導入に専門的なスキルやシステム構築が必要となるため、自前でゼロから構築・運用することは現実ではありません。
そのため、「フレームワーク/ライブラリ(機械学習・ディープラーニング用の開発プラットフォーム)」や、「API(外部プログラム機能の連携インターフェース)」の活用が有効です。
機械学習ライブラリ
機械学習で用いられる主なライブラリは以下です。
Pandas | データフレーム用ライブラリ |
NumPy | 数値計算用ライブラリ |
Matplotlib | グラフ描画用ライブラリ |
scikit-learn | 機械学習用ライブラリ |
機械学習API
機械学習APIとして、以下のベンダーがサービス提供を行っています。
- TensorFlow API (Google)
- Amazon ML (AWS)
- Azure ML (Microsoft)
- Watson API (IBM)
これらのAPIを通して、画像認識・自然言語処理・音声認識・パターン認識などさまざまな種類の機械学習を「サービス」として実現します。
ディープラーニング
ディープラーニング(深層学習)は機械学習の手法の一つです。
ニューラルネットワーク(ニューロンと呼ばれる脳神経細胞の多層ネットワークをコンピューターで模擬的に再現したもの)を応用し、各層で学習を繰り返すことで、規則性やルールを生成するための「注目すべき特徴(特徴量)」を自身で見つけだすことができます。
ニューラルネットワークの層を深くしたDNN(ディープニューラルネットワーク)は、下記のような、様々な分野に特化した応用ニューラルネットワークに改良されています。
CNN(畳み込みニューラルネットワーク) | 画像認識に適した手法 |
RNN(再帰型ニューラルネットワーク) | 時系列データに適した手法(自然言語処理など) |
自己符号化器(オートエンコーダ) | 次元削減を行うための手法 |
GAN(敵対的生成ネットワーク) | 画像生成に適した手法 |
深層学習フレームワークの活用
ディープラーニングで用いられるフレームワークは、Google社が公開した『TensorFlow(テンソルフロー)』が有名です。
その他、『Keras』、『Pytorch』、『Chainer』などが主要なフレームワークとなります。
ソフトウェア
プログラミング言語
ソフトウェア開発においては多種多様のプログラミング言語が存在しますが、AIの発展に伴うデータ分析の重要性の高まりにより、データ分析向けのプログラミング言語が注目されています。
R言語 | データ分析に特化 |
Python | データ分析に加え、Webアプリケーション開発など汎用的に利用 |
ソフトウェア開発手法
ソフトウェアパターン
ソフトウェアパターンは、パターン(特定状況下における問題に適用される解決策や指針)をナレッジ化し、ソフトウェア開発の局面で繰り返し現れるイベント・問題の知見を再利用するものです。
また、これらのパターンを表現するために、統一された構造で情報を表現するための言語である『モデリング言語』が用いられています。
プロトタイピング
プロトタイピングは、「試作」を意味します。
ソフトウェア開発の早期段階に試作をつくり、機能・操作性を確認、ユーザ要求・評価を後フェーズに反映させる開発手法です。
並行プログラミング
並行プログラミングは、複数のプログラムを同時に実行する手法です。
ソフトウェア技術の応用
XR (Cross Reality)
現実世界と仮想世界を融合することで、現実ではないものを知覚できる技術を『XR(Cross Reality)』といいます。
VR(Virtual Reality:仮想現実) | ゴーグルを通してコンピュータが描いた仮想世界に入り込み、自分がそこにいるかのような感覚を体験 (仮想世界がベース) |
AR(Augmented Reality : 拡張現実) | ゴーグルを通して現実空間にコンピュータが作り出した情報を重ねて表示 (現実世界がベース) |
MR(Mixed Reality : 複合現実) | ゴーグルを通して現実世界とコンピュータが描いた仮想世界を重ね、デジタル世界に触れることで作用 |
ホロポーテーション
『ホロポーテーション』とは、Microsoft社が開発した、3Dキャプチャ技術を利用し、ゴーグルを通して仮想シーンに実物のようなイメージを映し出す手法です。
まとめ
本記事では、DXのDigital(技術)領域から、『AI』と『ソフトウェア』について紹介しました。
DXの技術領域については、下記書籍が最もよくまとめられていますので、興味を持たれた方は、合わせてお読みすることをオススメします。
コメント