人工知能とは ⑪ ディープラーニングG検定試験対策

What is Artificial Intelligence?

人工知能とは

人工知能 > 機械学習 > 深層学習

AI|Artificial Intelligence|人工知能
コンピュータによる学習、推論、判断など人間の知能の働きを実現するための研究分野。但し、「なにが人工知能なのか」専門家のなかでも意見が別れており、明確な定義はない。

Machine Learning|機械学習
人間が持つ学習という仕組みをコンピュータで実現する技術。手法。
明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野。

Deep Learning|深層学習
Deep Neural Network|多層ニューラルネットワークによる機械学習の手法。2006年トロント大学のヒントンが考案したDBN|Deep Belief Networkからはじまった。

人物

  • アーサーサミュエル
    機械学習を「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」と定義した
  • アラン・チューリング
    人工知能かどうかを判定するチューリングテストを考案した。
  • レイ・カーツワイル
    シンギュラリティは2045年に到来する
  • ヒューゴ・デ・カリス
    シンギュラリティは21正規後半にやってくる人工知能の知能は人間の1兆の1兆倍に
  • イーロン・マスク
    非営利団体の研究組織OpenAIを創設
  • オレン・エツィオーニ
    コンピュータが世界を制覇するというのは馬鹿げている
  • ヴァーナー・ヴィンジ
    機会が人間の役に立つふりをしなくなること
  • スティーブン・ホーキンス
    AIの完成は人類の終焉を意味するかもしれない
  • ジェフリー・ヒントン
    2006年に考案したDBN|Deep Belief NetworkがDeep Learnig|深層学習のはじまりです。ILSVRC2012でAlexNetで優勝

テーマ

フレーム問題
問題を解決する場合に、どのようなものを考慮すべきで、どのようなものは考慮しなくてもいいかを判断することが難しい。
・フレーム問題を解決したAI    = 強いAI = 汎用AI
・フレーム問題を解決していないAI = 弱いAI = 特化型AI

シンボルグラウンティング問題
記号システム内のシンボルがどのように実世界の意味と紐付いているか

■シンギュラリティ|Technological Singularity|技術的特異点
コンピュータの知能が、人工知能として、指数的に高度化して、人間の知能を超えてしまい、人類に変わって文明の進歩にたずさわるという概念

定理

  • 次元の呪い
    次元が上がると計算量が指数的に増える
  • ラッセルのパラドックス
    数学で有名なパラドックス
  • バーニーおじさんのルール
    学習にはパラメーター数の10倍以上のデータが必要
  • ノーフリーランチ定理
    万能なアルゴリズムは存在しない
  • みにくいアヒルの子定理
    機械学習の定数化では区別がつかない
  • モラベックのパラドックス
    高度な推論よりも、1歳時の知能、運動のほうが遥かに難しい

歴史

第1次AIブーム
推論と探索
・トイプログラムのような単純な問題しか解けなかった。
・ELIZA、PARRY
 第1次AIブームのAIの名称。ELIZAは1966年に開発された。
 ELIZAはチューリングテストで30%の人の判定を誤らせた。
 この2つの会話の記録は、最初のRFC439、最も有名なICCC1972があります。

自然言語処理の研究が続けられている。
・セマンティックウェブ
 コンピュータに高度な意味処理を実現する。
・意味ネットワーク
 情報リソースに意味付与して、単語同士の意味f付に関連をもたせる。
・統計的自然言語処理
 インターネットの膨大な内容を分析対象として学習する。

第2次AIブーム
・エキスパートシステム、知識ベースシステム
 ①ナレッジエンジニアが専門家の知恵をDB化
 ②それを利用して推論エンジンで答えを導き出す
・意味ネットワーク
 is-a | 車は乗り物の。。。。     
 part-of | タイヤは車の。。。。
 instance-of | BMWは車の。。。。
 function | 走行は車の。。。。
・Cycプロジェクト
 一般常識を知識データベース化するという試み、現在も続けられている。
 OpenCycとして一般公開されている。

第3次AIブーム
機械学習と深層学習
ILSVRC2012のImageNetを利用した一般物体認識コンテストでジェフリー・ヒントンがディープラーニングを利用したAlexNetで優勝したり、IBMのWatsonによるクイズ番組のクイズ王を破ったり、GoogleがYouTube動画の中の猫を判別したり、このような事象からブームが巻き起こった。

・DeepMind社の囲碁AI AlphaGO
・将棋AI Ponanza
・IBM社のチェスAI ディープブルー
 力任せの探索であったが、世界チャンピオンに勝利した。

ニューロン、パーセプトロン

■ニューロン|nruron
神経細胞

■人工ニューロン
ニューラルネットワークを構成する基本単位

■パーセプトロン
ニューロンを利用した一つの考え方で、ニューロンを組み合わせて、層を作る方式。
S層|感覚層、入力層
A層|連合層、中間層
R層|反応槽、出力層

単純パーセプトロンの式

x1 入力
w1 重み
b バイアス
f 活性化関数
y 出力

x1 入力

w1 重み
 ・エポック
  訓練データを何度学習に利用したか
 ・イテレーション
  重みを何度更新したか

重みの更新タイミング
 ・逐次学習
  訓練データ1つに対して、重みを1回更新
 ・ミニバッチ学習
  ランダムにサンプリングしたデータの誤差の総和の平均で1回だけ重みを更新
 ・確率的勾配降下法
  ランダム=確率的なデータで更新をする勾配降下法
 ・バッチ学習
  訓練データすべての誤差で1回更新。(エポック回数=イテレーション回数)

b バイアス

u 中間計算値

f 活性化関数
 ・ステップ関数
  単純パーセプトロンと同じ。
  u=0の時、微分できない(学習できない)ので実際には利用されない
 ・シグモイド関数
  入力を0〜1に正規化する。
  勾配消失などが起こりやすいので、現在は利用されない
 ・ReLU
  利用が簡単なので現在の主流。勾配消失も起こりにくい
 ・ソフトマックス関数
  出力層付近で利用されることが多い

y 出力

ニューラルネットワーク

■層
・入力層
・隠れ層、中間層
・出力層

■伝播
・順伝播
・逆伝播
・誤差逆伝播法

■勾配降下法
ニューラルネットワークの誤差を小さくする手法
・局所最適解
 ある一部分だけ見ると最小値になっている部分
・大域的最適解
 全体の最小値になっている部分
・停留点
 局所でも、大粋的でもないが、勾配が0になっている部分
・鞍点
 3次元において、ある観点では大域的最適解だが、ある観点では大域的最適解であること

・SGD
 損失関数の値をできるだけ小さくするパラメータを見つける方法。
 対象の関数の形がある分布や方向に依存すると非効率な経路で
 パラメータを探索してしまい、学習に時間がかかるという欠点がある。
・Adam
 勾配降下法の更新量を決める学習率の調整方法、SGDの欠点をカバーするアルゴリズム
・モメンタム
 以前適用した勾配の方向を現在のパラメータ更新にも影響させる手法
・AdaGrad
 学習率をパラメーターに適用させることで自動的に学習率を調整する手法。勾配を2乗した値を蓄積して、すでに大きく更新されたパラメータほど更新料(学習率)を小さくする
・RMSprop
 AdaGradにおける一度更新した量が飽和した重みはもう更新されないという欠点を指数移動平均を蓄積することで解決したモデル
・バッチ勾配降下法
・ミニバッチ勾配降下法
・確率的勾配降下法
 ディープニューラルネットワークのパラメータ最適化手段

モデル

NN|Neural Network|ニューラルネットワーク

  • 教師あり学習 VGG16
  • 教師なし学習 オートエンコーダー
  • 強化学習   DQN
    LeNet
    ヤンルカンが提唱したニューラルネットワークの名称

CNN|Convolution Neural Network|畳み込みニューラルネットワーク

  • 画像処理に応用される。順伝播
    畳み込み層→プーリング層を複数回重ね、最後に全結合層で出力するもの
    1972年、福島邦彦が発表したネオコグニトロンから発展した
  • 畳み込み層
    畳み込み演算(画像を特徴量マップに変換)+活性化関数
    フィルタと積和演算
    ・パディング
     画像の周囲に数ピクセル付け足して画像を大きくすること
    ・ゼロパディング
     パディングの付け足し部分に0を置くこと
    ・重み共有
     畳み込みネットワークのパラメータを減らし、計算量を少なくするための方法
  • プーリング層
    平均プーリング 平均値を用いてサブサンプリングを行う
    最大プーリング 最大値を用いてサブサンプリングを行う
  • 全結合層
    プーリング層の2次元データすべてを1次元に結合する
  • AlexNet
    ジェフリー・ヒントンがILSVRC2012で優勝したモデル、8層
    パラメータ数 6,000万個、学習データ 6億個
  • GoogLeNet
    ILSVRC2014で優勝、22層
  • ResNet
    ILSVRC2015で優勝、152層
  • 残差
    RestNetでにおける求めたい関数と入力差

RNN|Recurrent Neural Network|再帰型ニューラルネットワーク

  • 時系列情報の取扱に向いている。
    過去の情報を保持できる。
    自然言語処理への応用が盛んで、機械翻訳などに利用されている。
  • 閉路(再帰構造)部分を持つ。過去の情報を保持できる。
  • LSTM|Long Short-Term Memory
    RNNの改良版
    遠い過去の情報を利用する場合の解決方法

■Auto Encorder|自己符号化器

  • 入力側半分|入力層→隠れ層がエンコーダー、出力側半分|隠れ層→出力層がデコーダーで入力・出力のノード数が同じ、中間層のノード数が入出力層よりも少ない。
  • 中間層で次元削減を行いながら、正解ラベルとして入力自身を用いる
    主成分析よりも非線形の次元削減が可能
  • 自己符号化器の代表的な応用例:仮想計測
  • VAE
    自己符号化器の潜在変数に確立分布を導入した生成モデル

■GAN|Generative Adversarial Network|敵対的生成ネットワーク

  • 強化学習に利用されるアルゴリズムの一種で、画像生成に利用される。
  • イアングットフェローが考案。下記の処理を繰り返すことでお互いが学習していく。
  • ヤン・ルカンが「機械学習において、この10年間で最もおもしろいアイデア」
  • 生成ネットワーク
    識別ネットワークを騙すように、訓練データと同じようなものを生成。
  • 識別ネットワーク
    訓練データか生成データかを判別する。
  • pix2pix

自然言語処理

■処理フローは以下のようになる。
 ①形態素分析
 ②データのクレンジング
 ③BoW|Bag-of-Wordsでベクトル変換
 ④TF-IDFで重要度評価

  • 形態素解析
    テキストデータから文法、単語に基づき、言語の意味を持つ最小の単位|形態素に分解
    その形態素の品詞を判別する技術
  • TF-IDF
    自然言語分野で文章に含まれている単語の重要度を特徴量とする
  • BoW|bag-of-words
    自然言語分野で文書に単語が含れているかどうかを適すつデータ化する
  • 構文解析
    形態素間の構文関係を解析
  • 含意関係解析
    2つの文書間の含意関係を解析
  • 意味解析
    意味のまとまりを解析
  • 文脈解析
    文単位で構造や意味を解析
  • 照応解析
    照応詞の指示対象や省略を補完
  • 談話解析
    文書の文と文の関係、話の推移を解析
  • LSI
    複数の文書から共通単語を解析して、潜在意味空間構成と特異値分解
  • 特異値分解
    行列分解の1手法。次元削減などに利用される。 

■Word2vec
 単語をベクトル変換して意味の近さや解析に利用する技術。2013年にGoogleが発表。
 王様 ー 男性 + 女性 = 女王
 ・Skip-Gram Model
  単語の周辺の単語を予測する

音声認識 音声合成

隠れマルコフモデル|HMM|Hidden Markov Model
未来の状態が現状態にのみ依存する 

■WaveNet
 Google DeepMind社が2016年に開発。
 サンプリングされた系列点としての音声をそのままDNNを用いて処理する。
 自然な発音、近似や調整がなくなった。

機械学習

線形モデル
説明関数を含んだ線形結合
・教師あり学習
・教師なし学習
・強化学習

■教師あり学習
教師データを利用して学習する
・回帰
・分類

回帰
線形回帰
 説明関数の一次関数で、目的関数を予測する。
 ・単回帰分析 1つの説明変数
 ・重回帰分析 複数の説明変数
  説明変数 手がかりとなる値|例 気温
  目的変数 予測したい値  |例 売上、または被説明変数
  ・多重共線性|マチコマ
   多重回帰の場合、総関係数が高い(1、-1に近い)場合、予測がうまくいかない

分類(クラス分類)
あらかじめ振り分ける分類を決めておいて、その分類に振り分けるのが特徴。

・レコメンデーションシステム
 ユーザー購買履歴から商品をおすすめする。
・内容ベースフィルタリング
 アイテムの特徴から推薦を行う。

・サポートベクターマシン|SVM
 2クラス分類のアルゴリズムから多クラス分類や回帰問題
 サポートベクター回帰にも応用
 特徴はマージンの最大化をめざす。
 ・スラック変数
  誤分類を許容する仕組み
 ハイパーパラメータで人間が調整
 ・カーネル法
  カーネル関数で高次元化で線形分離、そして低次元に復元。
 ・カーネルトリック
  計算量を削減

・決定木
 条件分岐を繰り返してクラス分類や回帰を行う。
 情報利得の最大化=不純度を最も減少ためのアルゴリズム。
 ・ジニ係数、エントロピー
  不純度の指標
 ・利点
  データスケールを事前に揃えておく必要がない。
  分析結果の説明が容易

・ランダムフォレスト
 決定木にバンキングを組み合わせた手法
 決定木の過学習を抑制する。
 ・バンキング
  アンサンブル学習の1種 複数モデルを利用して、その平均の多数決を取ったもの
  利点:データの前処理が少ない、安定した精度
  階層などはハイパーパラメータで人間が調整

・ロジスティック回帰
 線形回帰を分類に応用したもの、目的関数に尤度関数を利用する。
 ①重回帰分析で対数オッズを算出
 ②対数オッズをロジット変換
 ③最大確率のクラス
 ・尤度関数
  結果からみて、こういう前提条件が**であったというもっともらしさ=尤度を表す数値

・kNN法
 データから近い順にkこのデータを見て、多数決によって所属を決定
 欠点:データに偏りがない場合のみ利用可能

■教師なし学習
データの本質的な構造を探索する
・クラスタリング
・次元削減

クラスタリング
データを分析することによって、その分類を明らかにして、その分類に振り分ける。
あらかじめ振り分ける分類を決めておかないのが特徴。

・k-mean法
 クラスタの中心をデータの重心にずらしていく

次元削減
・主成分分析
 線形な次元削減方法
 寄与率 主成分の重要度判定
 主成分 各成分の意味を推測することができる
 ・LDA
  文中の単語からトピックを解析する教師なし学習法
 ・ディリックレ分布
  確率分布。

■強化学習
収益が最大になる方策を獲得する。
自身が得る「収益」を最大にするため「行動」を選択し、「環境」を変化させるような「方策」を獲得すること。
・行動価値観数
 ある状態で行動を取る価値を表す。膨大な計算量が必要。

・深層強化学習
ディープニューラルネットワークで近似値計算するアイデア

■DQN|Deep Q-Network|
 CNN|畳み込みネットワークの1種。DeepMindが開発
 行動価値を最大にする方策を効率的に計算するニューラルネットワーク。
 初期状態であるタスクについて何も知識がない状態だと学習過程の不安定さが
 みられるので、これに対応するために逆強化学習や
 ディープラーニング技術を応用する方法
 ・AlhaGo|アルファ碁はDQNを利用している

■アンサンブル学習
 複数のモデルを使って学習し、多数決や平均で結果を導き出す。
 安定した制度の確保や過学習の抑制に役立つ。
 一般的に、分類では多数決、回帰では平均を利用します。
 ・代表例
  ・バンキング
   各モデルを並列に学習させる。
  ・ブースティング
   各モデルを並列に学逐次させる。

■機械学習の事前処理

・基礎集計
・代表値計算
・傾向分析 散布図、相関行列

・前処理
・欠損値の処理、補完
・正規化 スケーリング
・標準化 平均を0、分散を1に変換する
・粒度調整
・サイズ、クレイスケール

・特徴量設計
・特徴量エンジニアリング
 特徴量の選定、カテゴリカル変数にエンコーディング、one-hot-encording

基礎数学

■微分
 y = f ( x )
 ・微分係数 傾き
 ・導関数
 ・ライプニッツの記法 dy/dx yをxで微分する
 ・偏微分
 ・偏導関数

■線形代数
 ・ベクトル
 ・行列
  和と積

■プログラムライブラリ
 ・Numpry   線形代数
 ・scikit-iearn 機械計算全般
 ・SciPy    統計確率
 ・seaborm  グラフ処理

■フレームワーク
 ・TensorFlow
  Googleが提供するディープラーニングのフレームワーク
 ・Keras
  TensorFlowのラッパーとして機能する
 ・Chainer
  日本のPreferredNetworkdsで開発されたフレームワーク
 ・Caffee、CNTK
  テキストの設定ファイルだけでセッティングできるディプラーニングソフトウェアフレームワーク

■AI技術プラットホーム
 ・Kaggle|カグル
  データ解析のコンペティションやデータサイエンティストによるディスカッションプラットホーム
 ・Google Scholar
  学術論文の検索エンジン
 ・Coursela|コーセラ
  大学の講義が受講できるオンライン講座
 ・arXiv|アーカイブ
  研究論文の公開・閲覧ができるサイト
 ・OpenAI Gym
  自分で作成した強化学習用アルゴリズムの試験ができるAIシミュレーションプラットホーム

■統計学
 ・記述統計
  実際のデータを母集団として分析する
 ・推計統計
  実際のデータを標本として、母集団を推計分析する

■相関
 正の相関、負の相関
 相関係数

機械学習モデルの性能

■勾配消失問題

■過学習
訓練誤差は収束するのに、汎化誤差が収束しないこと。

 ・訓練誤差
  訓練データに対する誤差
 ・汎化誤差
  道の母集団に対する誤差の期待値
 ・過学習抑制手法
  ・正則化
   誤差関数にパラメータのノルムによる正則化と付け加える
   ・LASSO
    不要とされた特徴量を消去する。いくつかのパラメータをスパースする
   ・Lasso回帰
    L1正規化を回帰に利用したもの
   ・Ridge正則化
    パラメータ戦隊gあ大きくならないように抑制を行う
  ・内部共変量シフト
   入力の分布が学習途中で大きく変わってくる問題
  ・バッチ正規化
   2015年に発表。内部共変量シフトを防ぐために出力値の分布の隔たりを抑制する 
  ・ドロップアウト
   重み更新時にランダムに一定の割合で更新をしない手法
  ・データ拡張
   データの水増しをしてデータの不足を補う
  ・L2正規化
   パラメータのノルムにペナルティを課す

■性能評価
 ・ホールド・アウト
  教師データを訓練データとテストデータに分割して利用する。
  過学習が起こっていないかのチェックに利用する。
 ・交差検証
  データをブロックに分け、そのブロックを順番に移動しながらホールドアウトする。

ロボスティック

ロボットに関する一連の研究分野
ロボットの自立運転などは訓練データが作成できないので強化学習が利用される。
モンテカルロ法、Q学習(強化学習の代表的なアルゴリズム)
・表現学習
 データから低次元の特徴を獲得する学習
・一気通貫学習
 ロボットの一連の動作をディープニューラルネットワークで実現しようとする試み
・マルチボーダル学習
 五感や平衡感覚、空間感覚などの体性感覚などの複数の感覚を
 統合的にディープニューラルネットワークで学習、処理する手法
 視覚|カメラ、聴覚|マイク、触覚|圧力センサ、嗅覚|匂いセンサーなど

自動運転

■SEA J3016
 Society of Automobile Engineeringの自動運転レベルの定義

レベル内容
0人間が運転する
1人間を時々サポートする
2いくつかのタスクを自動化システムが実質的に実施する。人間は運転環境を監視する。
3いくつかのタスクを自動化システムが実質的に実施、監視する。人間はいつでも制御を取り戻せる準備をする。
4いくつかのタスクを自動化システムが実質的に実施、監視する人間はある環境、状況で制御する。
5すべてのタスクを自動化システムが実質的に実施、監視する

 
・状況
レベル3の車が販売されている、海外においては1部走行も可能。
2016年に発表された内閣官房IT総合戦略室「自動運転レベルの定義をめぐる動きと今後の対応」では2025年ごろにレベル4,5を実用化する。

法令

■著作権
 ・AIが作成したもの
  AIが主体となって作った創作物は誰の著作物となるのか?
  次世代知財システム検討委員会報告書
 ・AIの学習モデル自体
  技術でコピーを防ぐ、契約で利用条件を定める、知財財産の法律を適用する

■LAWS|自立型致死性兵器
 自律的に動作し、自ら標的を判断して殺傷する兵器
 ・アシロマAI原則
  FLI|Future of life Instituteが発表、LAWSの軍拡に反対している。
  この団体にスティーブン・ホーキンス、イーロン・マスクなども賛同している。

その他 用語集

・DistBeluef
2012年に発表。ディープニューラルネットワークでは学習するパラメータが多くなり、処理の高速化が必要になる。その解決策のために提案された分散技術

・層毎の貧欲法
2006年ごろにヒントンが発表。単層の自己符号器に分割し、入力層から繰り返し学習させて、積層自己符号化器に適用することで汎用的な自己符号化器の利用を可能とした

・通時的誤差逆伝播法|block-propagation through time

・局所コントラスト正規化
画像処理の分野で異なるスケールの特徴量を同時に扱えるようにするため、減算正規化と除算正規化を行う

adversarial example
深層学習の課題の一つ。学習済のディープニュラルネットワークモデルを欺くように人工的に作られたサンプル

人工知能研究の変遷
パターン処理 → 記号処理 → 知識の蓄積

偏回帰係数
重回帰係数各項の係数パラメータ

最小二乗法
モデルの予測値と実データの差が最小になるような係数パラメータを求める方法

マルチエージェント応用
強化学習の課題

転移学習
高度なAIを作成して行くために、共有データセットを用いて、独自のデータセットに適用して学習していく手法

リストワイズ法
欠損値が完全に生じている場合に欠損があるサンプルはそのまま削除する方法

回帰補完
欠損しているある特徴量と相関が強いタの特徴量が存在している場合の方法

マッピング
順序を持つ文字列のカテゴリーデータの場合、それぞれの値に対応する数値を辞書型型データを用意してこれを数値に変化させる方法

恒等関数
回帰の出力層の活性化関数

双曲線余弦関数
中間層の活性化関数

Maxout
複数の線形関数の中で最大値を利用す関数

スパース正規化
L1正規化などを含む正規化方法

画像セグメンテーション
画像生成に利用する逆折り畳み層やアンプーリング層を利用して、画像のセグメンテーションを行うこと

交差エントロピー誤差関数
分類問題によく利用される損失関数

KLダイバージェンス
分布を直接学習する損失関数