いかおくら自習室のブログ

普段の学習内容などのアウトプット用のブログです

G検定学習記録_系列データのニューラルネットワーク(RNN)

thumpx3.hatenablog.jp

続き。 今回は系列データ(RNN)。再帰ニューラルネットワークとも呼ばれる。特に株価など時間軸に並んでいるデータを時系列データと呼ぶ。

RNNの問題

  • 重み衝突問題

RNNは系列データを扱っているため、現在は関係性が低くても将来的に高くなる場合が存在する。この場合に重みをどう処理するか問題。

  • 勾配消失問題

誤差逆伝播で深くまで誤差を逆伝播すると勾配が非常に小さくなってしまう問題。

RNNの発展系

用語 解説
双方向RNN 過去から未来だけではなく、未来から過去方向へも予測が可能。ex.ある文字列の後ろ
BiRNN 2つのRNNを積み重ねた構造
Seq2Seq エンコーダとデコーダの2つのRNNから構成されている
GNMT Google翻訳の流暢性と精度を高めるように設計されたSeq2Seqモデル
トランスフォーマー RNNを使わずにAttentionのみで構成されたモデル

RNNもイメージが難しい。。。

G検定学習記録_畳み込みニューラルネットワーク

thumpx3.hatenablog.jp

続き。

畳み込みニューラルネットワーク(CNN)の構造

用語 解説
畳み込み層 フィルタを用いて入力画像から線やエッジ、物体などの特徴を抽出する
プーリング層 画像のサイズを縮小することで情報量を圧縮する処理を行う
全結合層 出力層の手前の層。分類の結果を出す

モデルの軽量化

用語 解説
プルーニング 重要ではない重みを削除
量子化 重みなどの値を圧縮して小さなビット数に変換
蒸留 学習済みのモデルからの予想結果を学習データとして、小さなモデルを学習させる

※アフィン変換:拡大・縮小、平行移動、回転、せん断を行う

物体検出タスク

用語 解説
2段階モデル 物体の位置を特定した後に種類を判別するモデル。R-CNN、FPN
1段階モデル 位置特定と種類判別を両方同時に行うモデル

セグメンテーションタスク

用語 解説
セマンティックセグメンテーション 画像を画素レベルで切り取り、画素ごとに分類する
インスタンスセグメンテーション 物体検出後に領域を切り分け、画素レベルで抽出する

CNN様々なモデル

用語 解説
AlexNet 2012年にILSVRCのコンペで優勝。8層で構成されている
GoogLeNet 2014年にILSVRCで優勝
VGG 2014年にILSVRCで準優勝。16層で構成されている
ResNet 2015年にILSVRCで優勝。152層で構成されている
EfficientNet 従来のモデルよりもパラメータ数を削減
MobileNet メモリが少ない環境でも使えるモデル
FCN セマンティックセグメンテーションのモデル。畳み込み層だけで構成されたもの
SegNet,U-Net,PSPNet エンコーダとデコーダで構成されたCNNモデル
DeepLab 間隔を空けて畳み込みする
OpenPose 姿勢推定タスク。複数の人の動きを認識できる
YOLO,SSD マルチタスク学習。物体分類と検出が可能
Mask R-CNN マルチタスク学習。物体検出とセグメンテーションを行う

CNNはタスクとモデルがこんがらがる。。。

G検定学習記録_ニューラルネットワーク

thumpx3.hatenablog.jp

この続き。

活性化関数

用語 解説
ステップ関数 閾値を超えたら1,超えなかったら0を出力する
シグモイド関数 0~1を出力する。見た目が緩やかなS字カーブ
tanh関数 シグモイド関数に似ている。出力範囲が-1~1。シグモイド関数よりも勾配消失問題が起こりにくい。
ReLU 入力が負の場合は0、正の場合は入力値をそのまま出力する。微分不可能な点が存在する。
ソフトマックス関数 3つ以上の多クラス分類での出力に使われる

※自己符号化器(Autoencoder):次元圧縮するためのアルゴリズム

色々な定理

用語 解説
ノーフリーランチ定理 あらゆる問題において性能の良い汎用的な解決法はなく、個々のタスクに対して最適化していく必要がある
みにくいアヒルの子定理 何らかの仮説、前提知識がないと分類やパターン認識は不可能である*1
バーニーおじさんのルール ニューラルネットワークの重みパラメーターの数に対して、最低限その10倍以上の訓練データ量が必要*2
モラベックのパラドックス AIなどは高度な知性に基づく推論よりも、本能に基づく運動スキルや知能を身につける方がはるかに難しいこと*3

勾配効果法の問題点と解決方法

用語 問題点 解決法
局所最適解 見せかけの最適解 学習率を大きく設定する
鞍点 ある次元では極小であるが、ある次元では極大となってしまう点。学習を重ねても鞍点から抜け出せない状態をプラトーと呼ぶ モーメンタム。学習を加速させる。
学習時間 大規模なデータセットだと学習時間がかかる ミニバッチ勾配効果法。全体ではなく一部のデータをランダムに選んで学習
※バッチ学習 = 一度に全ての学習データを用いる
※オンライン学習 = データをランダムに1つずつ選択して学習する
ミニバッチ学習補足
用語 解説
イテレーション 勾配効果法を実行した回数=パラメータが更新された回数
エポック 全データを学習した回数

過学習を抑える方法

用語 解説
ドロップアウト 学習時にランダムにノードを除外。ネットワークを強制的に小さくしている。
早期終了 学習を早い段階で止めること
正則化 L1正則化、L2正則化

パラメータ更新最適化アルゴリズム

用語 解説
SGD 誤差関数を計算する際、順番をシャッフルして計算する
Adagrad 学習が進むにつれて学習率を小さくする。一度学習率を小さくすると大きくできなくて学習が停滞する可能性があるのが課題
RMSprop AdaGradを改良。現在の勾配を反映して学習率を調整する。
Adam RMSProp + モーメンタムを組み合わせた手法

学習率の調整方法が色々ググってみてもまだイメージつかない、、

G検定学習記録_機械学習の具体的手法

thumpx3.hatenablog.jp

続き。

分類、回帰両方使える手法

用語 解説
kNN法(k近傍法) 新たなデータが与えられた時、近くにあるk個のデータから推定を行う ※kNN法は機械学習アルゴリズムの一つで、k-meansはクラスタリングアルゴリズム*1

アンサンブル手法*2

用語 解説
バギング 弱学習器を並列学習させる。過学習を抑えられるが、可視性は低い。代表的なのはランダムフォレスト
ブースティング 弱学習器を直列学習させる。バギングと比べて精度は良いが、時間がかかる。例えばAdaBoost、GradientBoosting、XGboost、LightGBM、CatBoost
スタッキング 複数のモデル(ニューラルネットワーク、ロジスティック回帰、ランダムフォレスト、kNN法、etc....)を学習させ、それらの出力を組み合わせて新しい学習器を作る。

損失関数

用語 解説
MAE(平均絶対誤差) |実測値 - 推定値| ÷ 標本の大きさ
MSE(平均二乗誤差) (実測値 - 推定値)2 ÷ 標本の大きさ
RMSE(平均二乗誤差) √MSE

データスケーリング

用語 解説
標準化 平均0、標準偏差1
正規化 データを0~1に収める

正則化過学習を抑制するための手法。L1正則化やL2正則化

ハイパーパラメータ最適化

用語 解説
グリッドサーチ 格子状のように網羅的に、最良のパラメータを探す。正確だが時間がかかる
ランダムサーチ ランダムに選択してテストする。グリッドサーチに比べて正確性に欠けるが、短時間。
ベイズ最適化 既に持っている情報から、より効果的なパラメータを予想する。グリッドサーチとランダムサーチの欠点を補うことができる。

教師なし学習

教師なし学習の代表的なものが「クラスタリング」と「次元削減」

用語 解説
階層的クラスタリング 距離の近い2つのデータを組み合わせて1つのまとまりを作る
非階層的クラスタリング 基準点からの距離でデータをクラスタ分け。その重心を新たな基準点として設定〜を繰り返す。代表的なのがk-means手法
t-SNE 高次元データを2次元又は3次元に変換して可視化するための次元削減アルゴリズム*3

時系列モデル*4

用語 解説
ARモデル 前の値を用いて現時点での値を推論
MAモデル 前の誤差を用いて現時点での値を推論
ARMAモデル ARとMAを組み合わせたもの
ARIMAモデル ARMAを拡張。トレンド性(株価,GDP)を持つ時系列データを取り入れた
SARIMAモデル ARIMAを拡張。季節成分を取り入れた

レコメンデーション

用語 解説
コンテンツベースフィルタリング 過去に購買した商品に似た商品をレコメンデーション
協調型フィルタリング 似ている顧客の購買履歴からレコメンデーション

過学習を検知する手法

用語 解説
ホールドアウト法 教師データを訓練データ(7~8割)、検証データ(2~3割)に分ける手法
交差検証(cross validation) 代表的な手法にk-分割交差検証法。k個に分割した中で1つを検証用、残りを訓練用に使う。k回じゅんぐり回す。

AIモデルの解釈性(XAI)

用語 解説
LIME 近傍の線形近似を用いてブラックボックスモデル を局所的に説明する
SHAP いくつかのツールを組み合わせたもの(LIME,DeepLift,QII)。機械学習モデルをより分かりやすく説明するための可視化ツール

(XAIが全然イメージできない。。)

汎化誤差*5

モデルの予測精度を高めるには、汎化誤差を最小にする必要がある。

  • バイアス:偏り誤差。バイアスが大きいと、そのモデルは入力と出力の関係性を正確に表現できていないことになる(学習不足)

  • バリアンス:ばらつき誤差。バリアンスが大きいと、そのモデルは訓練データのノイズまで学習してしまっていることになる(過学習

G検定学習記録_機械学習の手法

thumpx3.hatenablog.jp

この次の章です。

強化学習

ex.掃除ロボット

  • 環境 or 状態:部屋の状況
  • エージェント:掃除ロボット
  • 行動:掃除ロボットがとる行動
  • 報酬 or 収益:掃除ロボットが行動することにより得られる評価値
  • 方策:ある状態のとき、どの行動を取るべきかを示す関数 掃除ロボットは「報酬」が最大になるように「行動」を選択する。

教師あり学習

教師あり学習教師なし学習を組み合わせたもの。 学習データ全てにラベルがついていなくても学習できる手法。 「正解データ」を作る(ラベルを付与する)作業をアノテーションと呼ぶ。

メタ学習

「学習の仕方」を学習する手法。 特定の教師データが少ない場合に、事前に類似した教師データを使ってモデルを作成できる。

マルチモーダル学習

画像、音声、テキストなど複数のデータ使って学習する手法。テキスト入れて画像を出力できるMidjourneyなど。

G検定学習記録_人工知能をめぐる歴史と動向

G検定の用語などまとめておきます。 フレーム問題とか参考書に良く書かれている有名なものなどはすっ飛ばしています。 個人的に問題集解いていて間違えたところや、覚えた方が良さそうなところだけピックしてますm(__)m

第1~3次AIブームの内容をまとめようと思ったら、総務省がいい感じにまとめてくれていました。

人工知能(AI)の歴史

他に試験に出そうな用語をまとめておきます。

第一次AIブーム系

用語 解説
チューリングテスト ある機械が人工知能かどうかを判定するテスト
ELIZA 人工対話システム。定型の質問文しか作成できなかった。
PARRY 基本的なプログラムはELIZAと同様。ELIZAとの会話も実現した。*1
中国語の部屋 英語しか分からない人が、誰でも中国語で回答できるマニュアルを使うと、「その人が中国語を理解できている」と判断されてしまうこと
STRIPS 探索の手法を用いて解けるタスク。プランニングと呼ばれている。前提条件、行動、結果を記述して行動計画を立てる。
SHRDLU テリー・ウィノグラードが開発したプランニングシステム。積み木の世界にある物体を動かせる。

第二次AIブーム系

用語 解説
エキスパートシステム 知識ベースをもとに質問に答える。MYCINが感染症の診断に使われ、DENDRALが未知の有機分子に使われた。
オントロジー エキスパートシステムのコストを解決するために生まれた方法論。知識を他の人と共有して活用ができる。ヘビーウェイトオントロジー、ライトウェイトオントロジー
シンボル・グラウンディング問題 コンピュータが記号を現実世界の概念と結びつけることができないこと。シマウマ問題。

第三次AIブーム系

用語 解説
AlexNet 2012年、ILSVRCの画像分類タスクで優勝。ReLUを導入、複数のGPUで並行して学習、overlapping poolingで過学習を軽減。
シンギュラリティ AIが人間の知能を超える時点。1993年ヴァーナー・ヴィンジによって提唱。レイ・カーツワイル2045年にシンギュラリティが来ると主張。ヒューゴ・デ・ガリスは21世紀後半に来ると予想。イーロン・マスクは危機感を持ち、OpenAIを設立。スティーブン・ホーキングは人類の終焉を意味するかもと述べている
AlphaGo 囲碁プログラム。棋士に勝利した。

その他

用語 解説
人工知能レベル1 シンプルな制御プログラム
人工知能レベル2 探索と推論で複雑なふるまいが可能
人工知能レベル3 機械学習
人工知能レベル4 ディープラーニング
モンテカルロ法 ランダムにゲームを行い、その勝率によって選ぶ手を探索する手法

GA4用語まとめ

上司からGA使うかもしれない、とのことで学習を始めた。 難所がGA4で使われる横文字の類。。 Googleのスキルショップにもチュートリアルがあるが、これがまた分かりにくい。。

簡単に用語をまとめておく。

●プロパティ

プロパティとは、お客様のオンライン データが Google アナリティクス内に取り込まれて処理される場所のことです。

出典:Google アナリティクスの最新情報

はてなブログだったり、Qiitaだったり、それぞれにGA4プロパティの作成が必要。

●イベント

イベントで収集、送信される情報から、ユーザー操作の詳細を確認でき、イベントやユーザーに関するより詳しいコンテキストを把握できます。この情報には、購入額、ユーザーがアクセスしたページのタイトル、ユーザーの地理的位置などが含まれます。

出典:Google アナリティクス 4 プロパティの特長

今までのUAプロパティでヒットだったものが、GA4だとイベントという名称に変わったということ・・?

●ID空間

アナリティクスでは、ユーザーの行動経路を追跡する目的で、Google シグナル、デバイス ID、ウェブサイトのログイン ユーザーに割り当てた ID など、複数のユーザー識別情報を使用できます。このような識別情報のグループは ID 空間と呼ばれます。

出典:Google アナリティクス 4 プロパティの特長

UAプロパティだと、別デバイスからのアクセスが同一ユーザーだと認識できなかったが、 GA4プロパティだと別デバイスになっても同一ユーザーだと認識できるようになった。

●データストリーム

データ ストリームは GA4 プロパティの機能であり、ユーザーがお客様のビジネスと接触を持つさまざまな場面に 1 つのアナリティクス プロパティを関連付けることができます。たとえば、ウェブサイトとアプリの両方を持つ企業が、レポートとインサイトを 1 つのアナリティクス プロパティにまとめるためには、プラットフォームごとのデータ ストリームが必要です。

出典:独自の Google アナリティクス 4 プロパティを作成する

バイスごとに横断してユーザーの動向見るには、iOSAndroid、Webそれぞれのデータストリームを設定する必要がある。