Macnica

Glossary

用語集

A~E

Adversarial Attack

Adversarial AttackはAdversarial Exampleとも呼ばれ,人工知能がAと認識したイメージにある摂動(小さい補正)を加えることでBと誤認識することである。有名な例として,パンダの画像にノイズを加えることで人間にはパンダに見える画像がAIにはテナガザルと認識されてしまったことが挙げられる。このようにデータを改変するだけでなく,道路標識などへ物理的に手を加えることで「止まれ」の標識を止まれと認識しなくなることも挙げられる。Adversarial Attackを防ぐために新しい防衛方法が開発されてもそれをパスする新しい攻撃法が生成されるというイタチごっこが続いている。AIは日々成長しているが,自動運転車がAdversarial Attackを受けることで誤認識が発生し事故につながる可能性もあるため,攻撃に対して強固なモデルが必要となる。

AGI

汎用人工知能(AGI)は、特化型AIに対し「人間と同様の感性や思考回路をもつ」人工知能のことを指す。弱いAI、強いAIという定義を提唱したアメリカの哲学者ジョン・サールが言うところの「強いAI」である。
AGIは、人間と同じように感じ、考える力をもつ。例えば楽しくて笑う、悲しくて泣くなどの感情を理解することが可能で、それを模倣するだけでなく自分なりに思考した上で異なる行動をとることもできる。並みの人間以上の能力を持ちながら、人間の心に寄り添える人工知能である。
AGIを実現するためには、簡単なタスク、あるいは特定のタスクだけでなく、幅広い範囲のタスクを処理でき、複雑な状況に適応できるAIエンジンを実現しなければならない。「AIエンジンが人と同じように素早く考え、即座に反応して問題を解決し、人ができるほぼ全てのタスクを処理できるようにする」という壮大な構想を具現化することになる。

AI

AIとは、Artificial Inteligence(人口知能)の頭文字をとった略で、コンピュータによって人口的に人間の知能を再現するための学問分野である。
ただし、明確な定義は存在せず、研究者や専門家の中でも言葉の意味は統一されていない。
1956年にダートマス会議で、"Artificial Inteligence"と言う言葉が出されて、この言葉が生まれた。
昨今、様々なビジネスにおける応用が可能になってきており、注目を集めている。
強いAIと弱いAIの二種類があり、強いAIは人間と同じようにものを考えることができるもので、弱いAIは特定の用途のために作られるものを指す。
強いAIは世の中にまだ存在せず、研究されている分野である。

AIスピーカー

AIスピーカーとは、AI(人工知能)技術を搭載したスマート家電の一種である。スマート家電とは、インターネットにつないで利便性を高めた家電のことである。AIスピーカーは、ユーザーがAIスピーカーに向かって明日の天気予報や料理のつくり方を口頭で尋ねると、インターネットで調べて音声で回答してくれる便利装置である。
AIスピーカーには、「クラウド上にAIアシスタントがある」「AIスピーカー本体にはAIが入っていない」「会話ができる」という3点の重要な特徴がある。本体では情報処理や計算処理をしておらず、情報処理も計算処理もすべて、ネットの向こうのクラウドというサーバーコンピュータのなかのAIアシスタントに頼っている。
AIスピーカーには、ユーザーの声を拾うマイクと、回答の音声を流すスピーカーのほかに、「フロントエンド処理」装置と、「ネットワーク処理」装置が内蔵されている。フロントエンド処理では、ユーザーの声をインターネット送信できるデータに変換する。またAIスピーカーから流す内容を、人が理解できる音声に変換する。ネットワーク処理では、データの送受信を担う。

AutoEncoder

オートエンコーダ(autoencoder)とは、ニューラルネットワークを利用した教師なし機械学習の手法の一つである。次元削減や特徴抽出を目的に登場したが、近年では生成モデルとしても用いられている。オートエンコーダーは、情報量を小さくした特徴表現を獲得するためにあり、次元削減するのに有効な手法の1つである。
オートエンコーダのネットワークは、入力したデータの次元数を一度下げ、再び戻して出力するという構造になっているため、入力から出力への単なるコピーは不可能である。オートエンコーダの学習過程では、入出力が一致するように各エッジの重みを調整していく。この学習を通して、データの中から復元のために必要となる重要な情報だけを抽出し、それらから効率的に元のデータを生成するネットワークが形成される。こうしてオートエンコーダの前半部分は次元削減、特徴抽出の機能を獲得し、後半部分は低次元の情報をソースとするデータ生成機能を獲得する。
オートエンコーダの種類としては下記の4種類がある。

  • ①積層オートエンコーダ
  • ②畳み込みオートエンコーダ
  • ③変分オートエンコーダ
  • ④条件付き変分オートエンコーダ

Auto-ML

Auto-ML (Automated Machine Learning,自動機械学習) とは,時間のかかる反復作業(データの前処理・適用方法の選定・モデルの検証)を自動化する技術である。機械学習では生データを分類する前処理やアルゴリズムの選択,ハイパーパラメーターの最適化などが必要であり,これらの作業は機械学習を行う上で大きな手間となっている。その手間を自動化することで効率的にデータ分析などを行うことや人間の直感的なバイアスを取り除くことを可能にし,機械学習の経験が少ないエンジニアを支援することにつながった。Auto-MLの適用例は販売や金融サービス,医療などが挙げられる。Auto-MLはGoogle,Microsoft,IBMなどから提供されている。

CNN

畳み込みニューラルネットワーク(Convolutional Neural Network 略してCNN)は、コンピュータビジョンで画像からパターンや物体を認識するために最もよく利用されるニューラルネットワークの1つである。畳み込み層のフィルタを利用してデータを変換することがら大きな特徴として挙げられる。
現在、画像認識や動体検知に使われるニューラルネットワークのほとんどが畳み込みニューラルネットワークと呼ばれるもので、CNNは一般的なニューラルネットワークと違い、畳み込み層とプーリング層でできている。
畳み込み層で抽出した特徴をもとに特徴マップを作成し、プーリング層では、特徴マップの要約を行う。特徴マップを小さなウィンドウに区切り、区切ったウィンドウ内の最大値をとっていく。
このプーリングを行うことによって、特徴の厳密な位置の変化を気にすることなく画像内での特徴を検出することが可能になる。

CPU

CPU(Central Processing Unit、中央演算処理装置)とはコンピューターのあらゆる処理を担うパーツである。マウス、キーボード、ハードディスク、メモリー、周辺機器などからデータを受け取り、その動きを制御している。どのコンピューターにも必ずひとつは搭載されている。CPUは実行できる命令の種類が多いのでさまざまな用途に対応しやすく、状況に合わせて臨機応変な対応(条件分岐)をすることを得意とする。
パフォーマンスを高めるために、CPUベンダーや開発者はプロセッサコアを複数にするマルチコアCPUや、処理高速化を支援するハードウェアであるアクセラレーターの階層化といった工夫を施している。特定のアプリケーションを優先して処理さに優先的にリソースを割り当てることで、コンピューティングの処理速度やCPUがメモリからデータを読み込む速度を高めることが可能になる。それでも一般的には、CPUがGPUの処理能力を上回ることはできない

cross validation

cross validationとは、統計学において標本データを分割し、その一部をまず解析して、残る部分でテストを行い、解析自身の妥当性の検証・確認に当てる手法である。データ分析手法の「良さ」を評価する方法で、cross validationは、機械学習・深層学習の手法の良さを評価するのにしばしば使われる。
下記の理由で、比較的少ない件数のデータセットで機械学習をするときには、cross validationは必要である。

  • ①データセットを全部学習に使ってしまうと、その汎化性能が測定できない。
  • ②学習・検証するデータ交差させないと、訓練された学習器が偏ってないとは言えない。
cross validationの手順
データを分割→「一部のデータ」に分析手法を使って(訓練)→残った部分でその分析手法の「良さ」を評価する(テスト)→「一部のデータ」を動かし、2と3を繰り返す→複数回行ったテスト結果をもとに、分析手法の「良さ」を評価する

Data Augmentation

Data Augmentation(データ拡張)とは,ディープラーニングに必要なデータセットが十分に存在しない場合に,既存のデータを拡張することでデータセットを増やし,十分に学習可能にする技術である。この技術を用いることで開発するために必要な手作業を削減し,データの品質を大幅に向上させることが可能である。ただ一方で,本来のデータを適切に処理できなくなる過学習も起こりうる。そのためデータを増幅させる際は,拡張されたデータが生データから大きく離れていないことが重要である。画像処理分野でのデータ拡張は主に7種類ある(1。水平軸または垂直軸での反転,2。水平・垂直方向への移動,3。回転,4。拡大または縮小,5。トリミング,6。ガウスノイズを追加,7。ランダムな色操作)。また,自然言語助理分野でのデータ拡張は主に4種類ある(1。同義語置換,2。ランダムな同義語の挿入,3。ランダムなワードの移動,4。ランダムなワードの削除)。

Django

Djangoは『ジャンゴ』と読み、 2005年に公開されたWeb開発用のオープンソースフレームワークである。フレームワークとは、アプリケーションを開発する際によく使われる機能がまとまったソフトウェアのことで、フレームワークを導入することで、幅広くWebアプリケーションの開発に対応でき、効率よく開発を進めることができる。
Djangoは、PythonのWebフレームワークの中では、最も人気が高く、大規模のWebアプリケーション開発に適している。Djangoにはサイトマップ・ユーザー認証・RSSフィードなどのWebの機能あり、Webシステム開発が簡単になるように工夫されていることが特長である。Instagram・Pinterestの有名なWebアプリでも使用されている。
開発時にDjangoを使用することで、下記のようなメリットがあげられる。

  • ①高速な動作
  • ②フルスタック・フレームワーク(多数の便利な機能を装備)
  • ③セキュリティ的に安全な設計
  • ④メンテナンスの容易さ
  • ⑤自由に選べるプラットフォーム
  • ⑥学習コストの低さ

Drop Out

DropOutとは、ニューラルネットワークの学習時に、一定割合のノードを不活性化させながら学習を行うことで過学習を防ぎ、精度をあげるための手法である。Dropoutは特定のレイヤーの出力を学習時にランダムで0に落とすことで、一部のデータが欠損していても正しく認識ができるようにする。これにより、画像の一部の局所特徴が過剰に評価されてしまうのを防ぎ、モデルのロバスト性を向上させることができる。学習終了後推論を行う際には、ネットワーク内のすべてのユニットを使用し、出力に学習時に消失させたユニットに割合を掛け合わせる。
Dropoutが高性能である理由は、「アンサンブル学習」という方法の近似になるからとも言われている。

End to End学習

End to End学習とは、入力データが与えられてから結果を出力するまで多段の処理を必要としていた機械学習システムを、様々な処理を行う複数の層・モジュールを備えた一つの大きなニューラルネットワークに置き換えて学習を行うものである。つまり、入力と出力だけ渡して、途中で発生する処理全てを学習する学習手法である。
OCRを例に挙げると、入力の画像から途中の処理を細かいタスクに分け最終的に文字認識に到るという構造が一般的だが、End-to-End学習では中間の処理も全て学習させる。しかし、データセットがたくさん必要になるというデメリットがあるため上手く活用していくことが重要である。

F~J

GAN

敵対的生成ネットワーク(Genera tive Adversarial Networks:GAN)は、生成モデルの一種であり、データから特徴を学習することで、実在しないデータを生成させ、存在するデータの特徴に沿って変換できる。分類・予測モデルとは異なる生成するモデルに該当する。
GANは、正解データを与えることなく特徴を学習する教師なし学習の一手法として注目されている。そのアーキテクチャの柔軟性から、アイデア次第で広範な領域に摘用できる。応用研究や理論的研究も急速に進んでおり、今後の発展が大いに期待されている。
GANの用途としては画像生成が有名だが、データを生成するという点でディープラーニングを補う技術としても注目度が高い。従来のサンプル画像を傾けたり、色を変えたりしてデータを増やすというやり方ではなく、特徴を含んだデータを新たに作り出すことで、データ不足が課題になりがちなディープラーニングに応用できる。

GPU

GPUとは、グラフィックス・プロセッシング・ユニットの略である。
パソコンの中で、さまざまな計算をする頭脳といえばCPUだが、グラフィックスを描く処理をするときには、GPUがCPUを補助している。
3Dグラフィックは、二次元的に広がっているスクリーンに奥行きを与えて三次元的に見えるよう画像描画する技術であり、座標位置の計算と、ピクセルデータの計算が必要になる。この計算を行っているのがGPUである。最近の映画やゲームを見ると分かるように、GPUや3Dグラフィックスの技術が向上したことで、とてもリアルな映像を実現できるようになった。
ディープラーニングのライブラリ・フレームワークの多くはCPUでも実行できるが、GPUで実行する事で処理速度を大幅に向上させる事ができる。そのためGPUのチップグレードが最重要となり、次いで学習データのボリュームに応じてGPUのメモリ容量・搭載枚数を増加させる必要がある。

Grad CAM

Grad-CAMとは(Gradient-weighted Class Activation Mapping)の略で、一言で要約すると予測値に対する勾配を重み付けすることで、重要なピクセルを可視化する技術である。画像認識の分野で使われており、分類の根拠を提示する局所的な説明手法である。
Grad-CAMではCNNが分類のために注視している範囲がカラーマップで表示される。
Grad-CAMの発想は、予測クラスのoutput値に寄与の大きいところが分類予測を行う上で、重要な箇所なのではないかというもので、勾配に関しては最後の畳み込み層の予測クラスのoutput値に対する勾配が用いられる。

K~O

Keras

kerasとは、python で書かれた高水準のニューラルネットワークライブラリのことである。機械学習やプログラミングに対する専門知識を持っていなくとも、短いコードで実装できるのが特徴で、TensorFlowやTheanoのような他のライブラリより、簡単にプログラムを書くことができる。Kerasは、標準的なニューラルネットワークに加えて、畳み込みニューラルネットワークと回帰型ニューラルネットワークをサポートしているのが特徴である。
kerasを使えば、文章の自動生成、画像認識、botの作成が可能で、現在でも、Netflix、Uberなど様々な企業がkerasを用いている。

k-近傍法

k近傍法は、機械学習の分類法のひとつで、あらゆるアルゴリズムの中で最もシンプルとされる。k近傍法は基本的には事前にデータをコンピューターに与えることにより機械学習を可能にする「教師あり学習」に使われるのが特徴である。
分類に使われる手法で、与えられた学習データをベクトル空間上にプロットしておき、未知のデータが得られたら、そこから距離が近い順に任意のk個を取得し、その多数決でデータが属するクラスを推定するというものだ。独立変数が2個しかない場合は、2次元上にデータをプロットできるので、より直感的に理解できる。
k近傍法は、どのようなデータにも活用でき、モデルの構築が速いことがメリットである。活用方法としては、手書きの文字をコンピューターに認識させたり、顧客の購買意欲をデータから予測したりといったものがあげられる。

Matplotlib

Matplotlib(マットプロットリブ)とは、データの可視化を可能とする外部ライブラリである。オープンソースで公開されており、個人、商用問わず、誰でも無料で利用することができる。
matplotlibを使うと、様々な種類のグラフを描画することができる。主に2次元のグラフだが、3次元のグラフを描画することも可能である。数値計算ライブラリであるNumPyと組み合わせて利用する場合が多く、またJupyter Notebookを用いて、データ分析結果をソースコードと共にグラフィカルに表現することで、説明力の高いレポートを作成することができる。Pandasでもデータの可視化は可能だが、Matplotlibを利用する事で更に複雑な表示を実現できる。
機械学習においては、統計量の可視化や学習経過のグラフ化、画像の出力等の機能が多く利用されている。ヒストグラムや散布図を描いたり、JavaScriptを利用してインタラクティブなグラフを生成することも可能である。

Meta Learning

Meta Learning(メタ学習)とは,機械学習 (ML) のサブフィールドであり,機械学習に関係するメタデータに自動学習アルゴリズムを適用したものである。1979年にMaudesley D。 B。 はMeta Learningを「学習者が気づき、次第に認知、照会、学習そして獲得した成長の習慣をコントロールできるようになる過程」と定義づけた。人間は少ない情報から新しい物事を学ぶのことができる。これは人間が情報を柔軟に理解し,必要な情報を識別しているからである。従来の機械学習の手法は大量のデータセットを用いて学習させ,新たに少量のデータセットを再学習させ,より良い結果を導き出すという方法であった。一方でMeta Learningは人間が柔軟に学習するように,複数の学習結果や学習過程をフィードバックし,次に行う学習の効率を上げる学習の手法である。Meta Learningは学習アルゴリズム自体を学習/誘導するため,よく「Learning to learn。 学習するための学習」と言い換えられる。Meta LearningはAIのさらなる発展にとても重要な学習方法である。

Metric Learning

Metric Learning(距離学習)とは,データ間の特徴量を学習する手法である。同じクラスに属するデータは近くに,異なるクラスに属するデータは遠くに配置することでデータの識別を容易にすることが可能になる。この手法の利点は意味的な距離を考慮した特徴量を学習できることであり,どの特徴量の関係性を重視するかを選択できることでもある。特徴量とは,味覚を対象としたときの甘味・酸味・塩味・苦味・旨味を数値化したデータである。例えば,ある同じ種類の食品A, B, Cの甘味と酸味に着目したとき,AB間の距離がAC間より近い(AB<AC)とき,BはCよりもAに似ていると考えられる。また,ユークリット距離やマンハッタン距離など距離の測り方によって類似性が大きく変化するため,目的や問題設定を考慮し測り方を決定する必要がある。 Metric Learningの応用例として,顔認証システムが挙げられる。個人の顔の形状を学習し識別することで個人を認識することが可能になる。

NAS(Neural Architecture Search)

NASとは,Auto-ML (Automated Machine Learning) の枠組みの一つであり,人工ニューラルネットワークのアーキテクチャを最適化する手法である。アーキテクチャを最適化することで人工ニューラルネットワークと同等の性能,もしくはそれ以上の性能を獲得することが可能になる。NASは主に以下の3つで構成されている。

  • ①Search Space。対象とするニューラルネットワークのアーキテクチャを検討すること。
  • ②Optimization Method。より良いアーキテクチャを見つけるためのSearch Spaceの探索の方法を決定すること。
  • ③Evaluation Method。Optimization Methodで検討された各アーキテクチャのクオリティを測定すること。

Numpy

NumPy (ナンパイまたはナムパイ)は、Pythonによるデータ分析、機械学習、 科学技術計算において大活躍するパッケージである。NumPyはオープンソースで公開されており、個人、商用問わず、誰でも無料で利用することができる。
NumPyを使うと、ベクトルや行列などの多次元配列の処理を容易に行うことができるようになるりまたPythonだけで数値計算を行うのと比較して、非常に高速に処理を行うことが可能である。
scikit-learn、SciPy、pandas、tensorflowといった人気のパッケージは、NumPyを基にしてつくられているためらNumPyをマスターすれば、データの扱いに強くなるだけでなく、NumPyが基になっているパッケージの扱いにも強くなれる。
NumPyは、ベクトルや行列といった多次元配列をPythonより早く効率的に処理する必要があるプログラムで利用されているが、NumPyは機械学習だけでなく、多言語配列や画像処理・音声処理にも活用できる。

OpenAI Gym

OpenAI Gymとは、イーロン・マスクらが率いる、人工知能(AI)を研究する非営利団体「OpenAI」が提供するプラットフォームである。CartPole問題やブロック崩しなど、いくつかの環境(ゲーム)が用意されており、強化学習を学ぶことができる。
強化学習の「エージェント」と「環境」の共通インタフェースを提供している他、強化学習のタスクの学習に利用できるさまざまな「環境」が用意されている。シミュレーション環境と強化学習アルゴリズム間のインタフェースを確立されているため、初心者でも強化学習を学びやすい。
OpenAI Gymの特徴は下記のとおりである。

  • ①シンプルな環境インターフェース
  • ②比較可能性
  • ③再現性
  • ④進捗状況の監視

OpenCV

OpenCV (オープンシーヴイ)は、画像処理・画像解析および機械学習等の機能を持つC/C++、Java、Python、MATLAB用のオープンソースのライブラリである。基本的に無料で使用することができ、BSDライセンスで配布されていることから学術用途だけでなく商用目的でも利用できる。
コンピュータの画像認識を支援する機能が多くあり、具体的に利用できる機能として、次のような例がある。

  • 認識している物体・オブジェクトの追跡
  • カメラの位置やユーザーの姿勢を検出するカメラキャリブレーション
  • 線やテキストを画像に描画
  • コンピュータがパターンを理解するための機械学習
  • 利用したデータの読み込みや保存、出力などを利用
  • 現在、看板を読み取り、交通標識を自動で画像認識などで活用されている

P~T

Pandas

Pandas(パンダスまたはパンダ)とは、データ操作を高速かつ効率的に扱う「データフレーム形式」を用いて、データ解析を支援する機能を提供するPythonのライブラリである。Pandasはオープンソースで公開されており、個人、商用問わず、誰でも無料で利用することができる。
Pandasを使うと、データの読み込みや統計量の表示、グラフ化など、データ分析に関する作業を容易に行うことができるようになる。また主要なコードはCythonまたはC言語で書かれており、Pythonだけでデータ分析を行うのと比較して、非常に高速に処理を行うことができる。
Pandasは一般的な表計算から、統計量の算出、データ整形、csv等のさまざまなフォーマットでの入出力といった、テーブルデータを扱う場合に、その豊富な機能面から利用されるデータ分析に必須となっている。またPandasは金融データを取り扱うために最も適した時系列分析機能をもっているため、金融データ分析アプリケーションにも利用されている。

PCA

主成分分析(Principle Component Analysis)とは,多次元のデータを次元圧縮する方法である。
データセットの次元が多いと、データ分析においても、機械学習においても計算コストが増え、データの様子が分かりにくくなる。その解決策として、統計や機械学習の分野でPCAがよく使われている。
主成分分析では、特徴量を抽出することによって、データセット内の特徴量を削減することが出来る。
それによって、3次元以下に次元を削減することが出来れば、データを可視化することもできる。主成分分析では、特徴量を「選択」するものではなく、新しい特徴量を「抽出」する。ただし、ここでいう「抽出」とは非可逆的なものなので、いくらか失われる情報が出てくることを知っておく必要がある。
主成分分析 PCA は、次元削減の目的で、統計学をはじめとする生物学やバイオインフォマティクスなど様々な分野で使われている。

Python

Pythonとは、組み込み開発やWeb開発、AI、教育分野などの幅広いシーンで使われているプログラミング言語である。1991年、オランダのグイド・ヴァン・ロッサムという人物によって開発され、近年は世界でもトップクラスの人気を誇るプログラミング言語となり、特に機械学習やディープラーニングなどのAI開発においては必須言語としての地位を築いている。多用途性を持ち、幅広いタイプのプログラムを作ることが可能であり、小規模なものから大規模なプログラム開発にまで対応できる。
Pythonには大きく下記の3つの特徴がある。

  • ①文法がシンプル
  • ②豊富で実用的なライブラリ
  • ③ Webフレームワークが開発されている
Pythonは幅広く様々なプログラムを作成できるが、特に人工知能、IoT、データ解析や分析ツール などでPythonの強みが生かされている。

Pytorch

PyTorch (パイトーチ)とはPython向けのオープンソース機械学習ライブラリである。コンピュータビジョンや自然言語処理で利用されているTorch(英語版)を元に、Facebookの人工知能研究グループにより初期開発された。計算速度も早く、ソースコードが見やすく扱いやすいと近年人気が急上昇している。NumPy の ndarray(n次元配列)に類似するTensor(テンソル)という形で計算を行い、GPU が得意とする高速な行列計算を存分に活用していける。さらに、ニューラルネットワークを構築するために、計算に必要となる計算グラフを動的に構築するという点もメリットである。
最近の最新論文の内容をPyTorchで実装して発表する研究者が多く、PyTorchでは代表的なディープラーニング手法の実装例がすぐ手に入れることが容易である。

RandomForest

ランダムフォレストは、分類や回帰などの問題に適応可能な機械学習の手法である。
アンサンブル学習の一種であり、入力データからランダムサンプリングを行い、弱学習器の決定木(Decision Tree)を複数作るため「ランダムフォレスト」と呼ばれている。
各特徴量の重要度を可視化することができるので、ホワイトボックスモデルの一つである。

ResNet

ResNetは、Microsoft ResearchのKaiming He氏が2015年に考案したニューラルネットワークのモデルである。
2015年当時、画像認識において一般にCNNの層数を増やすことでより高次元の特徴を獲得することは知られていたが、単純に層を重ねるだけでは性能が悪化していくという問題があった。それを解決すべくResNet提案された。ResNetではshortcut connectionという機構を導入し、手前の層の入力を後ろの層に直接足し合わせることで、この勾配消失問題を解決した。ある層への入力をバイパスし層をまたいで奥の層へ入力してしまうというスキップ構造で、勾配の消失や発散を防止し、超多層のネットワークを実現したのだ。152層もの深さ(前年優勝のGoogLeNetでも22層)を実現し、ILSVCRの2015年の優勝モデルとなった。

RNN

再帰型ニューラルネットワーク(RNN)は、時系列情報または連続した情報を解釈するために設計されたネットワークである。連続データ内の他のデータポイントから活性化関数を再利用して、次の出力を生成する。
RNNは、主に自然言語処理の分野で使われている。従来のニューラルネットワークでは入力値は互いに独立したものという仮定が立てられていなかった。この仮定は画像処理などでは問題ないが、言語のように入力値に連続性がある場合は適切ではない。RNNでは中間層にループを組み込むことによって前の入力を記憶できるようにした。そのおかげで、自然言語処理などの時系列データにも対応できるようになり、主に、機械翻訳、文章生成、音声認識などに使われている。
RNN のアーキテクチャは、従来型の人工ニューラル ネットワークや CNN とほぼ同じだが、フィードバックループとして機能するメモリを持つ点が異なる。人間の脳のように、特に会話において、文章を予測する上で、情報が新しければ新しいほどより多くの重み付けが行われる。

Scikit-Learn

scikit-learn(サイキット・ラーン)は、Pythonの機械学習ライブラリである。scikit-learnはオープンソース(BSD license)で公開されており、個人、商用問わず、誰でも無料で利用したり再頒布でき、ソースコードを覗いてどのような計算が行われているかを確認することもできる。scikit-learnは、現在も活発に開発が行われており、インターネット上で情報を探すことも容易である。
教師あり学習、教師なし学習に関するアルゴリズムが一通り利用出来る上、サンプルのデータセットが豊富に揃っているため、scikit-learnを用いるとすぐさま機械学習プログラミングを試すことが可能である。
Scikit-learnはかなり活発なユーザーコミュニティの中で開発・改良が加えられており、ドキュメントも整備されているため、初心者でもスムーズにScikit-learnを使い始められるようになっている。

Self-supervised learning

Self-supervised learning(自己教師あり学習)とは,人間がラベル付されたデータを提供(入力)しなくてもコンピュータがタスクを実行するように訓練するための手段であり,教師なし学習のサブセットである。マシンがデータにラベル付けし,分類・分析を通して関連性や相関性に基づいて結論を得て,出力や目標が導き出される。例えば,イメージの一部を隠した上で,隠されていないイメージを入力として,隠された部分の予測をすることで表現を学習するといったものである。この手法の利点はラベル付けされたデータセットがないにもかかわらず,システムが複雑なタスクを単純なタスクへ分解して,希望する出力に到達することを可能にする点である。教師あり学習では人間が膨大なイメージにラベル付することで入力されたイメージを識別して出力するが,自己教師あり学習では人間がラベル付する必要がないので作業の効率化が可能になる。

Semantic Segmentation

Semantic Segmentation(セマンティック セグメンテーション)は、画像内の全画素にラベルやカテゴリを関連付けるDeep Learning(ディープラーニング)のアルゴリズムであり、特徴的なカテゴリを形成する画素の集まりを認識するために使用される。
対象物の画像内を画素レベルで複数の領域に分けることができることがメリットである。不規則な形状の対象物でも明瞭に検出することができる。
入力画像の画素ひとつひとつに対して、なんらかのクラスを与えていくという問題だが、人間ですら、あるピクセルひとつだけを見てそれが何かを推測するのは不可能である。そのため、いかにして周囲のピクセルの情報を加味しながら、ひとつひとつのピクセルの分類を行うかが重要となる。
Semantic Segmentationの使用用途例として、自動運転、医療用画像処理、工業用検査などがあげられる。

Semi-supervised learning

Semi-supervised learning(半教師あり学習)とは,教師あり学習と教師なし学習の中間に位置する,少量のラベル付されたデータセットと大量のラベル付されていないデータセットを組み合わせて行う機械学習の方法である。半教師あり学習の特徴は,教師あり学習のメリットである学習効率と学習精度が良い点を保持したままデメリットである作業効率の低さを克服し,教師なし学習のメリットである大量のデータセットを扱うのに低コストである点を保持したままデメリットである学習効率と学習精度の低さを克服した学習方法ということである。Semi-supervised learningの応用例は音声分析やインターネットコンテンツの分類,タンパク質の塩基配列の分類など多岐にわたる。

SSD

SSD は物体検出でよくつかわれるモデルの一つで、Single Shot MultiBox Detector の略である。Faster RCNNより後にあらわれた、Faster RCNNより高速で性能が高いネットワークで、画像や動画の物体検出で使用されている。
SSDは、VGG16などのBase Networkにまず画像を通して、その後に追加した畳み込み層でスケールを変えていった特徴マップを作っていく構造になっている。
検出の仕組みについては、各特徴マップ上で、ピクセル単位でPriorやPrior Boxと呼ばれるBoxを事前に設定しておき、それぞれのPrior Boxに対して物体位置のオフセットとクラス分類を行うことで物体を検出する。各特徴マップのスケールが異なるため,出力層に近い特徴マップほど粗いマップになっていて、相対的に大きな物体を捉える仕組みである。

Super Resolution

Super Resolution(超解像技術)とは,低解像度のイメージやモーションから高解像度のイメージやモーションへ変換する技術である。ディープラーニングを活用し,低解像度のイメージなど対象から欠けている詳細な情報を再構成し生成を繰り返すことで高解像化を行う。また,ノイズ除去も行うため高精度なイメージやモーションを生成することが可能となる。似た技術であるアップコンバートと異なる点は,アップコンバートではイメージやモーションのディテールが粗い傾向にあるが,超解像技術では影や色の明暗・フォーカスなど様々なディテールも細かく生成される点である。この技術は我々の生活で身近に利用されており,テレビの4K映像の生成やMRIでの画像生成,光学顕微鏡での画像生成で用いられている。

SVM

SVM(サポートベクターマシン)は分類・回帰の両方に利用可能な教師あり学習である。マージン最大化という考えで、高い汎化性能を持つことが知られている。
SVMの基本となる考え方は、特徴量が2つしかない2次元データのデータセットを考えると、対象のデータセットをクラスに応じて最も適切に分割する決定境界を見つけるというものだ。
SVMには計算コストが小さいというメリットがある一方、データの前処理やパラメーターの調整、結果の解釈が難しいというデメリットもある。しかし、SVMは「識別能力が高く、非線形識別をするための実装が容易」なことを背景として人気の高いアルゴリズムである。

Tensorflow

TensorFlow(テンソルフロー)とは、グーグルによって開発された高速数値解析用のPythonライブラリである。ニューラルネットワークの構築、訓練ができるシステムの要求に応えられるという特徴をもつ。TensorFlowはそのTensor(多次元配列)を扱うのに長けたライブラリで、機械学習に最適化すべくCPUとGPUを最大限有効に使っている。命令型プログラミングとは異なり、「データフローグラフ」と呼ばれるグラフを作り、グラフにデータを入力することで結果が出力されるという流れがあり、
機械学習のアルゴリズムや手法を効率的かつ簡単に実装をすることを可能としている。
現在でも、画像認識、Google内サービスで写真などの画像検索、音声認識技術に使用されており、英語から日本語など翻訳を行うこともできる。

U~Z

VGG

VGGは、2014年のILSVRCで2位になったオックスフォード大学のVGGチームのネットワークである。畳み込み13層と全結合3層の合計16層で構成されているモデルである。KerasやPyTorchでは、モジュールとしてVGGが実装されているので、簡単に使用することができる。最近の論文では、VGGを基礎モデルとして使用していることが多いので、理解しておくことは必須である。
小さいフィルターを持つ畳み込み層を2から4つ連続して重ね、それをプーリング層でサイズを半分にするというのを繰り返し行う構造が特徴で、大きいフィルターで画像を一気に畳み込むよりも小さいフィルターを何個も畳み込む方が特徴をより良く抽出できる

XAI

Explainable AI:XAI(説明可能なAI)とは、予測結果や推定結果に至るプロセスが人間によって説明可能になっている機械学習のモデル、つまりAI本体のことである。米国のDARPAの研究が発端の概念で、モデルの予測が人間に理解可能であり、十分信頼に足る技術に関する研究のことを指す。
AIの予測結果がどのような計算過程を経て得られたものなのかわからず、精度が高かったとしても、その予測の根拠がわからなくなってしまうことを防ぐために考えられた。
例えば、病院で受けた検査結果のデータから、AIが診断や治療内容を指示したとして、その結論を100%信頼する気になる人は少ないだろう。判断プロセスがブラックボックスの状態でいきなり結論だけが出てくるというのでは、自分の健康や生命に関わる医療分野では、多くの人が拒否感を感じてしまう。そこで、予測の根拠をわかりやすく説明できるモデルとして広まってきている。

YOLO

YOLOは、画像認識のアルゴリズムで、2016年に発表された。 「検出」と「識別」を同時に行うことで、リアルタイムで処理が可能、かつ高精度で処理できる。 YOLOというのはもともと"You only live once”「人生一度きり」の頭文字をとったスラングで、これをYOLOの著者であるJoseph Redmon氏は"You Only Look Once"「見るのは一度きり」という風に文字ってモデルを名付けた。YOLOの最大の特長は、スライディングwindowやregion proposalといった領域スキャンのアプローチを使わずに、畳み込みニューラルネットワークで画像全体から直接物体らしさと位置を算出することである。

あ~こ

アンサンブル学習

アンサンブル学習とは、複数の機械学習結果を利用して判定を行うことで、学習の性能を上げることができる方法である。簡単に言えば多数決をとる方法で、個々に別々の学習器として学習させたものを、融合させる事によって、未学習のデータに対しての予測能力を向上させるための方法である。
これを応用した学習器として、ランダムサンプリングしたデータによって学習した多数の決定木を平均化するランダムフォレストなどがある。
アンサンブル学習には大きく分けて3つのタイプ、バギング、ブースティング、スタッキングがあり、特にバギングとブースティングが有名である。
しかし、すべてのデータに対してアンサンブル学習を行えば、精度が上がるわけではないということに注意が必要である

意味解析

意味解析とは、「意味」を利用して正しい構文木を選択することである。意味解析では、辞書をもとに、単語と単語の関連性を調べながら、正しい構文木を選択する。
しかし、意味解析は、コンピューターにとっては非常に難しい作業である。コンピューターには「意味」という概念は分からないため、ルール化して伝える(プログラムする)必要があるが、単語には複数の意味をもつものがあり、依存関係を示す表現、例えば名詞をつなぐ「AのB」という表現が示す意味関係にも複数ありえるからである。 このような曖昧性の中には、文脈情報がなければ解釈できないもの、あるいは文脈によってもわからないものがある。
これらのことから、「意味解析」を十分にうまく行えるシステムはまだ完成していないが、各単語に「意味素」という意味の基本となる情報を持たせる ことにより、ある程度、意味解析ができることはわかっている。

異常検知

異常検知とは、データセット中の他のデータと一致していない観測結果、期待されるパターンなどについてデータマイニングを利用して識別することを指す。一言で言えば他の大多数のデータとは振る舞いが異なるデータを検出する技術のことである。
侵入検知システム、詐欺検知、誤り検知、システムヘルスモニタリング、センサネットワークのイベント検知、生態系の乱れの検知など、様々な分野に応用可能で、下記のような手法がある。

  • ①外れ値検知…普段は起こり得ないようなデータ点を検知する手法
  • ②異常部位検出…異常が起きている部分時系列を検出する手法
  • ③変化点検知…時系列データのパターンが急激に変化する箇所を検知する手法

ウォード法

ウォード法とは、階層クラスター分析の手法の1つである。まず、「クラスタリング」とは、簡単にいうとデータなどの集合体を、機能やカテゴリごとに分けて集めることである。クラスタリングを行うためのアルゴリズムには2種類あり、その1つが階層クラスター分析である。
ウォード法では、2つのクラスターP,Qを結合したと仮定した時。それにより移動したクラスターの重心とクラスター内の各サンプルとの距離の2乗和,L(P∪Q)と、元々の2つのクラスター内での重心とそれぞれのサンプルとの距離の2乗和,L(P),L(Q)の差
Δ= L(P∪Q)-L(P)-L(Q)
が最小となるようなクラスター同士を結合させる。
計算量は多いが分類感度がかなり良いため、よく用いられる。

オンライン学習

オンライン学習は、訓練データのうちの一つのデータで機械学習モデルのパラメータを更新する手法であり、対照的な学習手法としては、バッチ学習などがあげられる。
メリットとしては低メモリで実施できることがあるが、デメリットとしては学習が不安定になることや、外れ値に反応しやすいことなどが上げられる。

確率分布

確率分布とは、データが出てくる確率の一覧である。
例としては、コイン投げを行った場合、出てくるデータは{コインが表、コインが裏}の2つだけになる。
このとき、いかさまでないコインであれば{表:50%、裏:50%}となるはずである。
この確率の集合が確率分布という。
確率分布には多数の種類がある。
離散or連続、1変数or2変数、さらにそのそれぞれに試行の種類等に対応して複数存在する。
個数、有無、正誤などのとびとびの値や状態をはかるものは離散型、重さ、長さ、強さなどの量をはかるものは連続型として扱われることが多い。
離散的データを生成する分布として

  • 二項分布
  • ポワソン分布
  • 幾何分布
  • 離散型一様分布
などがある。
また、連続型確率分布には、
  • 正規分布
  • 指数分布
  • 連続一様分布
  • カイ二乗分布
などがある。

過学習

過学習(OverFitting)とは、学習データにあまりに適合しすぎて、学習データでは精度が高いのに学習データとは異なるデータでは正解率が低くなってしまう、つまり、あるデータでは優れていたはずのモデルが、他のデータに対しては全く使い物にならない、という状態のことをいう。予め用意した学習データでの正解率がいくら高くても、実際の運用では役に立たないため、意味がない。
過学習の抑制方法は、下記の3点があげられる。

  • ① 学習データの数を増やす
  • ② モデルを簡単なものに変更する
  • ③ 正則化する

回帰

回帰とは、連続値の予測をする問題のことである。分類はカテゴリ値を予測するのに対して、回帰では連続値を扱う。
回帰問題を解く回帰分析の種類として単回帰分析や重回帰分析などがあり、説明変数が一つの場合には単回帰分析、複数ある時には重回帰分析を行う。
また、線形回帰と多項式回帰という種別があり、多項式回帰ではより複雑な特徴抽出を行うことができる。

学習曲線

学習曲線は、訓練データのサンプル数と予測性能の関係を示したグラフである。学習曲線は、予測モデルが過学習に陥っているのかまたは学習が足りていなく、訓練データに適合できていない学習不足なのかの状況判断に立てられる。
学習曲線の横軸は訓練データのサンプル数であり、縦軸は評価指標である。評価指標は、訓練データを用いて評価した指標と、検証データを用いて評価した指標の両方を用いる。
また、サンプル数を増やせばより良いモデルにすることができるのかの判断もできる。バリデーションスコアとトレーニングスコアの両方が、サンプル数が大きくなるにつれて低い値に収束した場合、サンプル数を増やすと効果が大きいことがわかる。その場合、パラメータや特徴量を見直すなどが対策として取られる。

強化学習

強化学習は、与えられた環境においてのエージェントが行動し、報酬を得ることで、報酬を最大化していく学習手法である。深層学習の概念が生まれる前から存在していた手法ではあるが、強化学習に深層学習を適用した深層強化学習が生まれることで、社会実装が進んだ。
強化学習のアルゴリズムで比較的理解しやすいものとしては、Q学習・モンテカルロ法などがある。

記述統計学

記述統計学では、数値や表、グラフなどを用いて、データの特徴を整理したり記述する。データには例外なくバラツキが存在するため、複数の集団の特徴を表すには様々な統計的指標が必要になる。
利用例としては、国勢調査、クラスの試験の成績などがあげられる。
ここで記述統計学の手法を示す。まず観測して得られたデータをひとまずエクセルなどに入力する。この時点ではそれはデータの羅列でしかない。しかし、データがどのようなことを示しているか、正しく、かつ効率的に読むために、表やグラフにしてみたり、平均値や標準偏差を計算してみたりすると観測データの特徴を把握することができる。

機械学習

機械学習とは、ビッグデータを学習しそのデータ構造の特徴を把握するための一連の手続きの事を指す。
元々はパターン認識の分野で研究からスタートしており、下記2点の理由でより実用的に使われるようになった。

  • 多くの企業・研究機関で膨大なデータを収集できるようになった
  • 計算機の性能が向上し、複雑なアルゴリズムでの計算が高速になった
学習方法には、教師あり学習、教師なし学習、強化学習などがあり、扱えるデータには系列データ、画像など様々なものが存在する。

教師あり学習

教師あり学習は機械学習手法のうちの一つであり、入力データと出力データが揃っており、出力データを教師データとして学習する手法と言える。
具体的な例としては、犬の画像と猫の画像をを用意し「犬か猫か」のラベルをつけて機械が学習していくのが教師あり学習である。アルゴリズムが入力データと出力データの関係を学習するプロセスが、教師が生徒に教育するプロセスに似ているため、こう言った名前がついた。
教師あり学習では、分類や回帰などの問題を取り扱うことができる。

教師なし学習

教師なし学習は、機械学習の学習手法の一つであり、正解ラベルがない状態で学習をするアプローチで学習をする。主なアルゴリズムとしては、主成分分析、クラスタリング、生成モデルなどがあげられる

クラスタリング

クラスタリング(またはクラスタ解析)は統計的データ解析手法の一つであり、説明変数のみをもつデータを基にデータ間で類似するグループを抽出する手法である。
クラスタリングの種類には、分割最適方クラスタリングと階層型クラスタリングなどがある。
分割最適型クラスタリングにはk-meansが代表格であり、事前にクラスタの評価関数を用意しておき、その評価関数が最小(あるいは最大)になるようにクラスタを求める。
階層型クラスタリングでは、近しいデータ群を同様のクラスタとみなしクラスタを分割していくことで、クラスタリングを行う手法である。

グラフ理論

グラフ理論とは、相互に関係し合うネットワークを数学的に扱う学問である。1736年に「ケーニヒスベルクの問題」と呼ばれるパズルに対してオイラーが解法を示したのが起源のひとつとされている。
近年、実際のビジネス領域への活用幅の広さと発想の容易さ、機械学習手法の発展に伴う新しい解析方法の開発などを理由に注目されている。
グラフ理論は多くのアプリケーションを持っており、最も一般的なアプリケーションの1つは、都市間の最短距離を見つけることである。例えば、鉄道の路線図を考える際に、駅がどのように路線で結ばれているかが問題となる。しかし、路線図では駅間の距離や微妙な配置、路線の形状などが地理上の実際とは異なって描かれていることが多い。路線図の利用者にとっては、駅と駅のつながり方が重要な情報だということだ。このように、つながり方に着目して抽象化された点とそれらを結ぶ線の概念がグラフであり、グラフがもつ様々な性質を探求するのがグラフ理論である。

形態素解析

形態素解析とは、「自然言語」を形態素(言葉が意味を持つまとまりの単語の最小単位)にまで分割する技術のことである。分かりやすくいえば、私たちが普段生活の中で一般的に使っている言葉に分割する技術のことである。
代表的な形態素解析の手法としては、文法規則性による方法と、確率的言語を用いる方法の2種類がある。
言語には「絶対的なルール」というものが少なく、「文法的にはここを入れ替えても意味は通じる」とか「この単語とこの単語は同じ意味になることがある」など融通が利く部分が多い。しかし、コンピューターにとっては逆にその自由度の高さが曖昧に映ってしまう。特に、日本語は他の言語よりも自由度が高く、形態素解析が難しいとされている。

欠損値

欠損値とは、アルゴリズムへの入力で,ある対象の全ての特徴や,一部の特徴の値がない場合のことをいう。
欠損値の発生には3つのタイプがある。

  • ①MCAR(Missing Completely at Random ) :完全にランダムな欠損。
  • ②MAR(Missing at random) :データは他の特徴量に依存して欠損。
  • ③MNAR(Missing not at random):欠損値がある分布に従う欠損。
欠損値に対応する方法としては、欠損値を無視すること、欠損値を補完することが挙げられる。学習データの量が十分に確保できる場合であれば、データセットから欠測値を取り除くことが可能だが、データ量が少ない場合は、単純に削除するとデータ量が減ってしまい、データが無駄になるため、削除するのではなく何かしらデータを補完する必要がある。

決定木学習

決定木学習は、データから決定木を作る機械学習の手法のことで、構造を学習するアルゴリズムのうちで最も簡単な部類のものではあるが、実用的に良く用いられて、実績がある手法の1つである。分類木と回帰木の総称して決定木とよばれている。
決定木を作る流れとして、情報利得を最大となるように、データを複数のカテゴリに分割する。次に、それぞれのカテゴリに対して、再度、情報利得が最大となるようにデータを分割する。このような作業を適切な回数で繰り返すことで、決定木が作られる。
決定木を用いた分析である決定木分析は、段階的にデータを分割していき分析結果を出力するもので、データを分割していき、データを各クラスに分類することで、「分析結果の解釈が容易」という特徴を持っている

検定

検定は、データに対する仮定がそもそも成り立つのかを判断しようという試みである。
検定は「最初に仮説を立て、実際に起こった結果を確率的に検証し、結論を導く」という手順で行う。結論を導くには「背理法(はいりほう)」を用いる。背理法とは「最初に仮説を設定し、仮説が正しいとした条件で考えて矛盾が起こった場合に仮説が間違っていると判断する」方法のことである。
推定との違いを強調すると、推定では「データにある分布を仮定し、その分布のパラメータを計算する」が、検定では「ある分布のパラメータの仮定を先に置き、その仮定が正しいかどうかをデータを用いて判断する」と言える。
さらに、データがある分布に従うとしたときに、その分布のパラメータを計算するのが推定だが、「データが(本当に)ある分布に従うか否かを判断する」という検定を行うこともできる(コロモゴロフ・スミノルフ検定)。

交差検証

交差検証とは、訓練データと評価用の検証データを分割して性能を計測することによって、特定のデータに影響を受けない汎化性能のあるモデルを得る方法である。分類や回帰に用いることができる。
交差検証法では、データを複数のデータセットに分け、1つのデータセットをテストデータ、他のデータを学習データにしてモデルの構築を行うため、データ数がある程度ある時に用いられる。
交差検証の中でも、よく利用されるK-分割交差検証は、データをK個に分割してそのうち1つをテストデータに残りのK-1個を学習データとして正解率の評価を行う。これをK個のデータすべてが1回ずつテストデータになるようにK回学習を行なって精度の平均をとる手法である。

構文解析

構文解析とは、単語ごとの粒度で文章に木構造のような意味解析を行うのに都合の良い構造を見出すことである。品詞の上位に存在する主部・述部・名詞句・動詞句などの構造を見出し、形態素解析で得られた単語の関係性を解析する。最も代表的かつ一般的な構文解析は、文の構成要素(名詞句・動詞句・・など)・品詞に基づいた構文解析である。これは文脈自由文法(「文→名詞句 動詞句」「名詞句→冠詞 名詞 | 代名詞 | ..」のような生成規則を逆向きに適用して木を作る文法)を使って構成される。
係り受け解析とも呼ばれ、構文解析の結果は「構文木」というもので表すことが出来る。

さ~と

最適化

最適化とは、制約条件の中で目的関数を最小化(最大化)することである。最適化問題には、数理最適化や組み合わせ最適化などがある。数理最適化と組み合わせ最適化は、解が連続か非連続かによってきまり、数理最適化では解が連続なものを扱い、組み合わせ最適化では解が不連続なものを扱う。
数理最適化には、線形計画問題・凸二次計画問題・半正定値計画問題などがあり、組み合わせ最適化には線系整数計画問題・二次0-1整数計画問題などが挙げられる。

サンプリング

サンプリングとは、統計調査において「母集団や確率分布から標本を抽出する」操作のことをいう。統計学や機械学習における非常に重要なテクニックとして重宝されている。
他の表現をすると、分布p(z)からその分布に従うサンプルZ(l)=(z1,..,zl)を得ることである。サンプルを大量に得ることができれば、分布から直接計算を行うことが難しい場合にも、学習された確率分布から得られる擬似的なデータは、その確率分布の標本(サンプル)と呼ばれるものに対応するため、サンプルから答えを得ることができる。

次元の呪い

次元の呪いとは、利用している機械学習のアルゴリズムで、十分な性能を発揮することができなくなり、未知データに対して適切な予測を行うことが困難になる状態を指す。原因はデータセットの次元数が大きくなりすぎ、対象となるデータセットの組み合わせが増えすぎてしまうというものだ。
ビッグデータを処理するためのコンピュータシステムを用意している場合でも、次元の呪いに注意しないと、計算コストが莫大となるだけでなく、十分な学習結果が得られず、未知のデータに適切に対応出来なくなる等の不具合が発生してしまう。
次元の呪いを解決するためには、特徴作成もしくは特徴選択が必要となる。

自動運転

自動運転とは、「乗り物や移動体の操縦を人の手によらず、機械が自立的に行うシステム」を意味している。 自動運転では、カメラなどのセンサーが取得した画像データの分析や、乗員とシステムがコミュニケーションを図るHMI(ヒューマンマシンインタフェース)分野における音声認識などさまざまな分野でAIが活用されている。
特に、画像の認識・解析分野に研究開発が盛んだ。走行中の自動運転車が取得し続ける膨大な画像データに対し、映っているものは何か、どのような挙動を行うかなどをリアルタイムで解析するコア技術で、「目」と「脳」の役割を果たす機能が最重要分野として挙げられる。
安全性の基準について日本では米国運輸省NHTSAの案を参考にして、自動運転のレベルを定義づけている。

  • レベル0 運転自動化なし
  • レベル2 部分運転自動化
  • レベル3 条件付運転自動化
  • レベル4 高度運転自動化
  • レベル5 完全運転自動化
自動運転のAI活用分野は、今後の社会実装に期待が高まっている。

シンギュラリティ

シンギュラリティ(技術的特異点)とは、AIなどの技術が、人間より賢い知能を生み出す事が可能になる時点を指す言葉であり、人工知能が、さらに優れた人工知能を再帰的に創造していくことで、人間を完全に超える圧倒的に高度な知性が生み出されるとする仮説のことを言う。技術の革新は指数関数的なスピードで進み、2029年には「人工知能の賢さが人間を超え」て、2045年に「シンギュラリティに到達」すると言われている。
情報技術および人工知能は、おそらく人間の脳が持つ能力を超え、それがカバーする範囲は知覚・認識や、問題解決能力、感情・道徳・知能といった全ての分野に及び、それらを凌駕(りょうが)していくことになる。人間よりもわずかに賢い知性が生まれ、それが指数関数的に成長を続け、最後に人間を超越する時点、シンギュラリティに達するだろう。

自然言語処理

自然言語処理とは、人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術であり、人工知能と言語学の一分野である。具体的には、言葉や文章といったコミュニケーションで使う「話し言葉」から、論文のような「書き言葉」までの自然言語を対象として、それらの言葉が持つ意味を解析する処理技術を指す。
言語処理を行う前段階として、機械可読辞書(コンピュータが語彙を理解するときに必要な辞書のこと)とコーパス(言語の使用方法を記録・蓄積した文書集合のこと)の構築を行う。
その後、形態素解析、構文解析、意味解析、文脈解析の4つの行程を踏まえて処理される。

深層学習

深層学習(Deep Learning)は、機械学習の手法の一手法であり、他の手法と比べて柔軟性が高いことから様々な業界で成果を上げている。
「柔軟性が高い」理由は深層学習が、モデルのアーキテクチャを自由に変えられることにある。実際に様々なアーキテクチャの作り方があり、DNN(Deep Neural Network)、CNN(Convolutonal Neural Network)、RNN(Recurrent Neural Network)などがよく知られている。
深層学習によって、画像解析や音声認識、自然言語処理などの精度が従来手法に比べて非常に高くなり実社会にも取り入れられている。

次元削減

次元削減とは、多次元からなる情報を、その意味を保ったまま、それより少ない次元の情報に落とし込むことである。
次元削減を行う主な目的はデータの圧縮とデータの可視化である。
データはユークリッド構造を保持するが、次元の呪いは受けない。
通常、データ内のすべての分散ではなくほとんどの分散を記述することができる基底または数学的表現を選択することで、関連する情報を保持しながら、表現に必要な情報量を減らす。
次元削減特徴的な手法は下記の4種類がある。

  • ①PCA (主成分分析)
  • ②LSA(SDA) (潜在意味解析 (特異値分解))
  • ③LDA (線形判別分析)
  • ④ICA (独立成分分析)

推測統計学

推測統計学では、母集団 (population) から標本 (sample) を無作為に抽出し、その標本によって得られた標本平均や不偏分散などの統計量を使って、母集団の母数(母平均や母分散)を検定し推定する。推測統計学では、分析対象が確率分布するとし、母集団からランダムに抽出した標本を増やし、無限に試行を繰り返せば、全体の一部である標本から、巨大で未知の母集団を推測できると考えている。
さらに推測統計学は、推定と検定に分けることができる。推定とは、平均など、具体的な値を予測をすることであり、検定とは、母集団について立てた仮説が正しいかどうかを統計学的に判定することである。
利用例としては、日本人の平均年齢、テレビ番組の視聴率、選挙の出口調査などがある。

推定

推定(inference)とは、入力データに対して、機械学習のモデル(=具体的な計算式/計算方法)を用いて、出力を行う作業のことである。
手元にデータがある場合に、そのデータがどのような(既に調べられている)分布に似ており、どのような形をしているかを調べるのが推定である。
具体的には正規分布は山の形をしており、山の頂上になる位置(平均)と山の広がり具合(分散)の2つのパラメータが決まれば形状が定まる。「データがある分布に従うとき、その分布を定めるパラメータを計算する」というのが推定の役割である。

生成モデル

生成モデルとは、観測データを生成する確率分布を想定し、観測データからその確率分布を推定する方法である。簡単にいえば、「今あるデータがどのようにできたのだろうか?」ということに着目し、それ(データの生成過程)をモデル化しようという枠組みである。
データをサンプリングできる、新規性や外れ値の検出ができるなど、データそのものについて最も吟味できることが最大のメリットである。
生成モデルでは、入力を確率変数として扱う。すなわち、「ある確率分布から生成された入力に対して、それがどのくらいの確率でクラスAに当てはまるか?」ということを考える。このときに、入力が従う確率分布をうまく求めることができれば、その確率分布を用いて擬似的に入力データを生成することができる。

性能指標

性能評価指標は、分類モデルが他のものと比べて優れているかどうかを比較する基準になるものであり、例えば下記のようなものがある。

  • ①正解率:全てのデータで判定結果が合っていたかどうかを算出
  • ②適合率:陽性であると予測したうち、実際に陽性である割合を示す
  • ③再現率:本当に陽性であるケースのうち、陽性と予測できた割合を示す
ただし、AI(機械学習)モデルの性能を数値化して評価する指標は様々ある。その中で分類でよく使われる指標を表にして表すものを「混同行列(confusion_matrix)」という。AI(機械学習)モデルの性能を明らかにするために使われる行列で、4つの領域に分類された混同行列を元に、AI(機械学習)モデルの性能評価を行うことができる。

正規化

正規化とは、計算・解析において扱いやすいように、データをある規則に従って整形することをいう。様々な単位のデータを入力としてディープラーニングで学習させるより、共通の尺度で統一された値を入力データとして与えたほうが精度が良い学習モデルができることから正規化が行われる。
例えば、画像認識AIにおいては、学習データに使用する画素値を最大値(255)で割っておくことで、データ値を[0,1]の範囲に収めるという手法が用いられる。他にも、平均0、標準偏差1の値へ変換するという方法がある。これは、データから平均を引いて、標準偏差で割ることで求まる。

正則化

正規化とは、計算・解析において扱いやすいように、データをある規則に従って整形することをいう。
様々な単位のデータを入力し、ディープラーニングで学習させるより、共通の尺度で統一された値を入力データとして与えたほうが精度が良い学習モデルができることから正規化が行われる。正規化することによって、データの重複を排除し、更新時におけるデータの不整合の発生を防止することができる。
画像認識の例でいうと、実際の手法としては学習データに使用する画素値を最大値(255)で割っておくことで、データ値を[0,1]の範囲に収めるという手法が用いられる。他にも、平均0、標準偏差1の値へ変換するという方法がある。これは、「ある値から平均を引いて、標準偏差で割る」ことで求まる。

説明変数

説明変数とは、目的変数を説明する変数のことで、「独立変数」とも呼ぶ。物事の原因ととらえることもできる。
例えば、自分が飲食店を経営しているとして、過去の売上情報を元に月次で将来の売上げを予測したいとしたとき、日々の売上には天気や気温、湿度などが関係しそうと想像できる。天気や気温、湿度など求めたい売り上げに何らかの影響を与える変数が「説明変数」となる。変数とは「ケース毎に変わり得る数」のことを意味しており、天気や気温、湿度など日毎に数値が変化するものを指している。
数式で説明するなら、例えばy = axという関数があった場合、xが説明変数となる。
他の具体例をあげるとすると、「将来出世する/出世しない」という結果が目的変数。一方で説明変数は、目的変数を予測するための特徴要因である。「将来出世する/出世しない」かをあてるための、「挨拶ができる、明るい、勉強家 、営業が得意」といったような予測するための特徴的な要因のことを説明変数と呼ぶ。

相関

相関というのは、2つ以上のもとがあるときに、それらが「どれぐらい類似しているか」という「類似度」を意味する。相関は一方の変量が増加すると、他の変量も増加する正の相関関係と、一本の変量が増加すると他の変量は減少する負の相関関係に分かれる。更に、相関係数と言う指標は、「類似度」の強さを「−1から1」までの範囲を取る数字として表現したものである。
機械学習で判明するのは「相関」であり「因果」ではないということを理解しておかなければならない。相関では、複数の変数に関わりがあることは示せるが、本当に関係しているかどうかは不明なため、意味を見いだして「因果」を証明するのは、人間の仕事ということになる。

代表値

データの特性を表す数値を代表値と言う。実際には、必ずしも数値とは限らず、代表値には、位置を表す代表値とばらつきを表す代表値が存在する。
位置を表す代表値は平均値、中央値、最頻値の3つを、ばらつきを表す代表値としては、分散 標準偏差の2つを押さえる。

  • ①平均:全てのデータの値を足してデータの数で割ったもの。平均の中にも3つ種類がある。
    1. 相加平均(算術平均)
      一般的に平均といえばこれのことを指し、全てのデータを足して、データ数で割った値のこと。
    2. 相乗平均(幾何平均)
      全てのデータの値を掛け合わせて、データ数の累乗根を求めた値のこと。物価の上昇率など、率の平均を求めるような場合に使われる。
    3. 調和平均
      ランニングコースを2周したときの平均速度などを求める場合に使われる。
  • ②中央値:データを小さい順に並べたときにちょうど真ん中に来る値。
  • ③最頻値(モード):最もデータ数の多い値。

チューリングマシン

チューリングマシンは、現在のコンピュータに影響を与えている基本理論である。1936 年に数学者アラン・チューリングが考案した計算機械のモデルでで、チャーチの定位によれば計算可能な問題はすべてチューリングマシンで計算が可能であるとされている。
チューリングマシンは、ます目に分割され左右に無限に伸びたテープ、有限制御部、及びテープ上の記号を読み書きするためのヘッドから構成される。チューリング機械は、0,1,2,··· といった離散的な時刻ごとに次の一連の動作を実行する。まず、ヘッドが位置するます目の記号を読み取る。この記号と現在の有限制御部の状態(内部状態)に依存し、ます目の記号を書き換え、ヘッドを左か右に 1 コマ移動し、内部状態を遷移させる。このような動作の規則を適切に定めることによって、いろいろな計算をチューリングマシンに実行させることができる。数の表現法を適切に定めることで、チューリング機械による関数の計算の概念を定式化することが可能になる。

データ可視化

データ可視化とは、数値データだけでは確認しにくい現象や事象を、グラフ・図・表などの目に見える形で表現することである。
また、データ分析全体におけるひとつの工程であると言える。
データ分析は大きく、収集・加工・集計・可視化の4つに分けられる。
データを可視化し、分析を行うことで下記のようなメリットがあげられる。

  • ①作業時間の削減
  • ②可視化による気づき
  • ③他人への共有のしやすさ
さらに、可視化から得た新たな気づきから、また違った角度で可視化をしたり、他のデータと組み合わせてみることでまた新しい気づきを得る、というサイクルが生まれる。この「データと気づきの往復」こそデータ分析であり、そのサイクルを回す要となるのが可視化の役割である。

データ分析

データ分析とは、データから、意味のある情報を抽出する事である。現在、企業や研究機関に蓄積されるデータの量が巨大になっているため、より注目を集めている。
様々な業界でデータ分析は行われているが、現在ではコンビニのレジのデータも収集され、日々データ分析がされている。例えば、データ分析によって、雨の日に傘が売れやすいことや、暑い夏の日にビールの売り上げが多いことなどが分かるだろう。

トイプロブレム

トイプロブレムとは、第一次AIブーム時代に生まれた言葉で、第一次AIブームを終焉に導くこととなったキーワードでもある。
この時代の人工知能には迷路やオセロといった、ルールが決まりきっているトイプロブレム(おもちゃの問題)しか解けない事が次第に明らかになってきた。チェスや将棋で人間に勝つといった、ルールが決められた中で最適な答えを探すのはコンピューターにとっては案外簡単だったが、現実世界の複雑な問題は解けないということで、この第一次AIブーム時代の人工知能が解ける問題はトイプロブレムだといわれた。
現在トイプロブレムは、実社会ではあまり役に立たないが、簡潔でわかりやすいため、さまざまなアルゴリズムの性能を実験的に評価するための標準的な例題として研究目的に使用される場合がある。

特徴抽出

特徴抽出とは、識別したい物体やデータから、より有用な情報を取り出す操作のことを示す。
一つのデータに複数の情報が含まれる場合、全ての情報が必要な情報とは限らないため、特徴抽出処理を行う事で、機械学習で扱う予測モデルの内容をより有効なものに改善する必要がある。
下記で特徴抽出を、3つの具体的な内容に分けて表す。

  • ①意味のない情報を有効な情報に変更する
    破損した情報が含まれる場合、適切な情報に置き換える必要がある。
  • ②非線形変換する。
    より数値の特徴が分かりやすくなるように、数値をグループによって表す必要がある。
  • ③情報の内容に応じた処理を施す。
    ここでは、個別の情報の特徴に応じた処理をする。
データの内容を十分に理解しておき、適切な特徴抽出処理を選ぶ必要がある。

特徴量

特徴量は、対象とする事物の特徴を定量的に表した変数であり、特徴量という物差しを与えることで、人工知能がパターンを学習することができるようになる。さらに、何を特徴量として選ぶかということによって、結果の精度は大きく変化する。
データセットでは、特徴量は列として表示される。
例えば、物件条件から家賃を予測する場合の特徴量は「専有面積」「築年数」「最寄駅」のなどがあげられる。賃貸物件は様々な条件で家賃が決まっているため、物件の専有面積が増えるほど家賃は高くなるという傾向、逆に築年数は増えるほど家賃は安くなる傾向をふまえて家賃を予測する。予測したい家賃の「特徴」となるデータを機械学習では「特徴量」と呼ぶ。

な~ほ

ニューラルネットワーク

ニューラルネットワーク(NeuralNetwork:NN)とは、人間の脳内にある神経細胞(ニューロン)とそのつながり、すなわち神経回路網を人工ニューロンという数式的なモデルで表現したものである。
動物の脳神経は、環境に存在する物質やエネルギーが感覚器官によってとらえられ信号に変換されたものが、シナプスとニューロンによって「入力ノード→中間ノード→出力ノード」というふうに伝わるよう作られている。
人間の脳はニューロン(neuron)という神経細胞のネットワーク構造となっている。ニューロンから別のニューロンにシグナルを伝達する接続部位のことをシナプスと言い、ニューロンはシナプスから電気や化学反応のシグナルを発信して情報をやり取りする。 ニューラルネットワークは、入力層から入った信号がさまざまなノードを伝搬して出力層に伝わる仕組みになっている。これは、神経細胞のニューロンを通じて信号が伝搬する仕組みと同じである。

ノーフリーランチ定理

ノーフリーランチ定理は、「コスト関数の極値を探索するあらゆるアルゴリズムは、全ての可能なコスト関数に適用した結果を平均すると同じ性能となる」と定義されている。簡単に言うと、全ての問題において優れた性能を発揮できる“万能”の「教師ありの機械学習モデル」や「アルゴリズム」などは、理論上、存在しないということだ。
ノーフリーランチ定理は、メタヒューリスティックなアルゴリズムで色々な問題を解こうとすることへの反証として使われることが多い。つまり、問題が変わればアルゴリズムも変えるべきで、できる限り先見知識を使ってその問題に特化した解法を考案すべきということだ。

パーセプトロン

パーセプトロンとは、心理学者・計算機科学者のフランク・ローゼンブラットが1957年に考案した、人工ニューロンやニューラルネットワークの一種である。視覚と脳の機能をモデル化したものであり、パターン認識を行う。ただし学習過程については自明ではないため、ブラックボックスのアルゴリズムとされている。
コンセプトとしては、まず、入力層にデータを入力し、そのデータを認識をするための指標である特徴量を入力する。その入力に対し、ニューロン間の接続強度に相当する重み Wを掛けたものを、出力層のニューロンに入力する。出力層のニューロンで、この入力を足し合わせたものを活性化関数に通し、最終的な結果を出力する。
パーセプトロンが一つだけでは単純なモデルしか表現できないため、複雑なモデルを表現するためにはパーセプトロンを複数層重ねる必要があり、これを多層パーセプトロンと呼ぶ。

バーニーおじさんのルール

バーニーおじさんのルールは「機械学習において学習に必要なデータ数は説明変数(パラメータ)の数の10倍」ということである。
「バーニーおじさん」の正体は、米スタンフォード大学の教授であるBernard Widrow氏だと言われている。1987年のIEEEカンファレンスでの講演「ADALINE and MADALINE」の中で、「バーニーおじさんのルール(Uncle's Bernie Rule)」を提唱した。

ハイパーパラメータ

ハイパーパラメータとは、(英語:Hyperparameter)とは機械学習アルゴリズムの挙動を設定するパラメータを指す。特に深層学習では勾配法によって最適化できないパラメータに相当する。
少し乱暴な言い方をすると機械学習のアルゴリズムの「設定」である。ハイパーパラメータチューニング自動化の動きもあるが、一般的には「人間」が「手動」で調整を行なっている。
例えば、学習率やバッチサイズ、学習イテレーション数、さらに、ニューラルネットワークの層数やチャンネル数といったようなものもハイパーパラメータである。更に、そういった数値だけでなく、学習に Momentum SGD を用いるかそれとも Adam を用いるか、といったような選択もハイパーパラメータといえる。

パターン認識

人がペットボトルを見た時にペットボトルと認識することができるのは、プラスチックで出来た透明の特定サイズの物体を、ペットボトルと特徴付けているからである。
このように、人がもつ5感には、視覚・聴覚・触覚・味覚・嗅覚などがあり、人はこれらの感覚から与えられる刺激によって、事象をパターン化することができる。
パターン認識は、このような情報を複数のパターンから一つに対応させる研究技術群のことであり、人口知能(AI)における研究/開発技術のテーマのうちの一つである。

バッチ学習

機械学習では、学習の際にパラメータを最適な値に調整していく必要がある。これらのパラメータ更新の際に、全ての訓練データを用いて更新を行うのがバッチ学習である。
メリットとしては、学習するデータのサンプリングによって更新に影響を与えないことがあるが、デメリットとしては、大量のデータを与えられた時にメモリ容量が大きくなってしまうことがある。
例えば、画像で1TB程度のものになった時にバッチ学習をさせる事は普通のマシンでは不可能であるため、その際には、バッチを複数に分けて学習をするミニバッチ学習を行う。

パラメータ

パラメータとは、変数値、媒介変数、母数、引数、などを指す言葉で数学や統計学で用いられる用語であるが、ビジネス用語としては主にコンピュータ・プログラムなどのITの分野で使用されている。
IT分野では、ソフトウェアやシステムの動作・処理結果に影響を与える、外部から投入されるデータなどのことをパラメータと表現することが多く、プログラミングでは引数と呼ばれることがらある。どういう設定値や制限値で機械学習の予測モデルを作るのかを示すことができる。
よく目にするURLパラメータは、WebブラウザなどがWebサーバに送信するデータを、送信先を指定するURLの末尾に特定の形式で表記したものである。
URLの末尾に「?」(クエスチョンマーク)を付け、続けて「名前=値」の形式で内容を記述したもので、ブラウザ側からサーバ側にデータを送って何らかの処理を行わせ、Webページの内容に反映させることができる。

パラメータチューニング

機械学習モデルの学習においては、良いモデルを作るためにハイパーパラメータのチューニングが必須である。目的の精度や汎化性能をもとめて、モデルの学習を繰り返し最適なハイパーパラメータを探索するが、選択するアルゴリズムやデータ量、計算環境によっては一回の試行が数時間に及ぶこともあり、効率よく探索することが大事になる。
ハイパーパラメータチューニングは、一昔前は、「手作業で最適なパラメータを探す」が主流だったが、最近は「自動化」が流行っている。ハイパーパラメータチューニングの3つの手法としては、ハイパーパラメータの調整には主に3つの手法があります。

  • ① グリッドサーチ(Grid Search)
  • ② ランダムサーチ(Random Search)
  • ③ ベイズ最適化(Bayesian Optimization)

外れ値

外れ値とは、得られた観測値の中で真の値の推定値からの残差が異常に大きい値のことである。外れ値のうち、測定ミス、記入ミスなどの原因が分かっているものを「異常値」とよぶ場合がある。
外れ値は、解析を行う上で大きく影響することもあるため、外れ値検知を行うことが望ましい。
外れ値検知は、検出単位がデータ点の検知方法となり、普段では考えられないようなデータ点を検知する場合に用いられる手法のことである。
判断する方法としては、1.スミルノフ・グラブス検定をつかう方法2.四分位範囲(IQR)を利用した方法が挙げられる。
外れ値の対策として、異常値であるかどうか考察することや測定ミス、入力ミスとわかるものは除外することが必要となるが、有益な外れ値もあるためなんでも除去すればよいわけではないことを覚えておく必要がある。

パターンマッチング

パターンマッチングは、データを照合する時に、予め指定されている特定のパターンに一致するか否かを判定するAIの手法のことである。パターンマッチングが扱えるデータには、記号などのデータか画像・音声などの複雑なデータまで様々である。例えば、記号のパターンマッチングでは、"This is a pen"という文字列の中に"Pen"という文字が入っているか否かを判定することができる。

フレーム問題

フレーム問題とは、人工知能における重要な難問の一つで、有限の情報処理能力しかないロボットには、現実に起こりうる問題全てに対処することができないことを示すものである。
1969年に人工知能研究者のJohn McCarthyとPatrick J. Hayesが提唱した概念で、現在でも解決していない問題であるとの見方が一般的。
人工知能が、何らかの判断を下す際には、世のなかの情報すべてから現在の判断に必要な情報を選び出さなくてはならない。つまり、その物事と本来関係のない無視すべき膨大な事象を含めて、世のなかのありとあらゆる事象について、物事との関係の有無を計算する必要がある。そのため、情報処理における計算量が爆発的に増加し、有限の情報処理能力しか持たない人工知能は、機能を停止してしまい、判断が行えないと言う問題が生じるのである。

文脈解析

文脈解析は、複数の文を通して、形態素解析と意味解析を行うことである。簡単に言えば、複数の文のつながりをチェックするもので、代名詞の参照問題などもこの文脈解析に含まれる。物語の理解などでも、文脈解析が絶対に必要になってくる。
文脈解析は、単に解析の対象が長くなっただけではなく、文の関係性も解析しなければならない、とても複雑な作業である。
例えば「青空とひまわり畑が美しい。私はそれを彼に伝えた」という文の中で、「それ」は直前の文章を指す。しかし、文章の並びをかえるだけで、とたんに「それ」が指すものは分からなくなってしまう。そうならないために、文章解析が必要になってくる。

物体検知

物体検知とは画像を取り込み、画像の中から定められた物体の位置とカテゴリーを検出することを指す。
人の目が行なっているものを見てそれを認知する機能を総称していると考えるとシンプルである。
物体検知の中では大きく分けて2ステップのタスクが行われている。

  • STEP1:物体検出 対象領域が背景か物体かを判断する
  • STEP2:画像認識 物体だった場合に物体が何なのかを判断する
例えば、犬が写っている画像の中から犬を検出する物体検知モデルなのであれば犬が枠線(バウンディングボックス)で囲まれ犬であると出力されるイメージだ。

物体検知の代表的なアルゴリズムとして
  • R-CNN (Region-based CNN)
  • YOLO(You only Look Once)
  • SSD(Single Shot Detector)
などが存在する。
物体検出は研究が盛んな分野ではあるため、様々なアルゴリズムが今後増えていくと想定される。

分類

分類とは、不連続値のラベルを予測する問題のことである。回帰では、連続値を予測するのに対して、分類では不連続値を扱う。
一般的には、2値分類、多値分類に区分けされ、2値分類では出力値は2つのラベルを予測し、多値分類では出力値は3つ以上のラベルを予測する。
例えば、犬か猫のラベルと画像を用意しておき、犬の画像を入れた時に「犬」と出力するAIモデルは2値分類ができるAIモデルとなる。

ベイズ統計学

ベイズ統計学では、標本を必ずしも必要とせず、データ不十分でも何とかして確率を導くことができる。確率には、客観確率(客観的確率)と主観確率(主観的確率)があり、ベイズ統計とは、主観確率を扱う統計学である。
手法としては、”ある事態が発生する確率”を最初に設定(=事前確率を設定)した後、さらなる情報が得られる度に”ある事態が発生する確率”(=事後確率)を更新していき、本来起こるであろう事象の確率(主観確率)を導き出すというものである。
事前確率とは「データを手に入れる前に想定していた確率」のことで、データを全く持っていないことを意味しているわけではない。事前確率と事後確率は、あくまでも「追加で」データが得られる、その前後の確率である。得られたデータから確率を更新していく、この概念を、ベイズ更新という。

ま~わ

マルチモーダル 学習

マルチモーダル 学習とは複数のモーダル情報を合わせて学習する手法のことである。
例えば、子供の男の子の年齢を推測するAIを作ろうと考えた時に、

  • 男の子の顔という「画像」から予測する
  • 男の子の声という「音声」から予測する
よりも、
  • 男の子の顔の「画像」、声の「音声」で予測する
方が精度は高くなるだろう。この例で言うと、「画像」や「音声」が複数のモーダル 情報であり、マルチモーダル 学習は複数のモーダル 情報「画像」と「音声」などで何かを予測するように学習する手法である。

みにくいアヒルの子定理

みにくいアヒルの子定理は、「みにくいアヒルの子と普通のアヒルの子は、二匹の普通のアヒルの子と同じくらい類似している」というものだ。
例をあげて説明する。みにくいアヒルの子を A、二匹の普通のアヒルの子を B と C とした時、A と B には共通点があり、A と C にも、B と C にも共通点がある。A と B だけに共通で、C に当てはまらないような点も、ある。同様に、A と C だけ、B と C だけ、の共通点も見つかる。このように、全ての組み合わせに対応する共通点があり、どれも同じだけ似ているということになる。
この定理の大事な部分は、すべての特徴を同等の重要度みなすという点である。すなわち主観を抜いた、客観的で形式的に分類をおこなうということである。このことから、客観的な、汎用的な分類というのはできないという問題が生まれるため、解決したい分類問題に合わせてアルゴリズムを組む必要がある。

目的変数

目的変数とは、予測したい変数のことで「従属変数」「外的基準」とも呼ぶ。物事の結果ととらえることもできる。
例えば、自分が飲食店を経営しているとして、過去の売上情報を元に月次で将来の売上げを予測したいとしたとき、日々の売上には天気や気温、湿度などが関係しそうと想像できる。この時、求めたいものである売り上げが「目的変数」となる。また、変数とは「ケース毎に変わり得る数」のことを意味しており、天気や気温、湿度など日毎に数値が変化するものを指している。
数式で説明するなら、例えばy = axという関数があった場合、yが目的変数なる。
他の具体例をあげるとすると、「将来出世する/出世しない」という結果が目的変数。「将来出世する/出世しない」かをあてるための、「挨拶ができる、明るい、勉強家 、営業が得意」といったような予測するための特徴的な要因のことを説明変数と呼ぶ。

量子化

量子化とは、アナログ信号などの連続量を整数などの離散値で近似的に表現することである。自然界の信号などをコンピュータで処理・保存できるようデジタルデータに置き換える際などによく行われる。
しかし機械学習で行われている量子化の実際は、少し意味が違い、十分な(=32bitもしくは16bit)精度で表現されていた量を、ずっと少ないビット数で表現することをいう。量子化には、計算の高速化や省メモリ化などのメリットがある。
量子化の一つとして、単純に学習済みモデルの weights を取って、量子化関数を作用する方法がある。推論の時、 activation に同じ関数を作用するだけのも可能だが、このアプローチを使うと、モデルの精度は下がってしまう。学習済みモデルで学習データセットを推論すると、レイヤーのactivations 毎に分布の平均と分散を確認できて、この情報で相応しい量子化 パラメータを設定できる。

レコメンド

電子商取引のサイトにおいて最近広く認知されるようになった「この商品を見た人はこのような商品も買っています」のような類似商品の推薦システムはルールベースに基づいたエキスパートシステムの一種とされ、レコメンドエンジンと呼ばれている。
レコメンドエンジンとは、サイトへの訪問者が購入したり見たりした商品と関連性があり、購買意欲をかきたてるような商品を提案することで、顧客が欲しいと思う情報を探すのを手助けしてくれるシステムである。また、内容に基づいて推薦を行うものと訪問者の閲覧履歴、購買履歴などから推薦を行うものの2つのタイプに分かれる。
レコメンドエンジンには、ベースとなる数パターンの技術があり、それらを組み合わせて使っている場合が多い。
下記のような基本的な技術がある。

  • ①強調フィルタリング
  • ②コンテンツベース・フィルタリング
  • ③ハイブリッド・タイプ