2022/09/24 Ubuntu環境立ち上げ

2022/09/24 Ubuntu環境立ち上げ 今日から自分のWin環境のVirtualboxのUbuntuを立ち上げて遊んでいく。 最初にVirturalboxを2022/09/24時点で最新の6.1.38に更新 一方でUbuntu LTSの最新版 22.04 日本語版Remixもダウンロード 光学ディスクにisoファイルを挿…

深層学習day4 Section6:物体検知・セグメンテーション

要点まとめ 分類と物体検知との違い 下記の順に難易度が上がっていく。 Classification (分類) 画像に対し単一または複数のクラスラベル Object Detection (物体検知) 画像の矩形領域をBouding Box (bbox/BB) を検出する。 Semantic Segmentation (意味…

深層学習day4 Section5:Transformer

要点まとめ 言語モデルとは 単語の並びに対して尤度で評価する。 時刻までの情報で時刻の事後確率を求めることが目標。 例えば、"I have a" に続く単語で尤もらしい単語 を下記のように表す。 事後確率を求められれば、先頭単語を与えれば文章を生成すること…

深層学習day4 Section4:応用モデル

要点まとめ Mobile Net 画像認識のネットワーク。 ディープラーニングモデルは精度は良いが、ネットワークが深く演算量が多くなる。 軽量な演算量でそれなりに良い精度を満たせるように工夫したのがMobileNet。 高さ、横、カーネルサイズ、入力チャネル数、…

深層学習day4 Section3:軽量化・高速化技術

要点まとめ 分散深層学習とは 深層学習は多くのパラメータを使用したり学習をしたりするため、高速な演算が求められる。 データ量・計算量は1年毎に10倍に増加している。一方、コンピュータは18ヶ月で2倍の性能にしかならない。 そのため、複数の計算資源を…

深層学習day4 Section2:AlphaGo

要点まとめ Alpha Go Lee 方策関数 PolicyNet と 価値関数 ValueNetからなる。 方策関数の入力は囲碁の盤面と同じ19x19の48チャンネル。 48チャンネルは、石(自石、敵石、空白)の3チャンネル、オール1、着手履歴、呼吸点・・・等。 その後、畳込み+ReLu関数…

深層学習day4 Section1:強化学習

要点まとめ 強化学習は、教師あり学習、教師なし学習に並ぶ学習。 行動の結果得られる報酬を元に、行動を決定する原理を改善していく仕組み。 教師なし・あり学習では、データに含まれるパターンを見つけ出し、そのデータを予測することが目標だったが、強化…

深層学習day3 Section7:Attention Mechanism

要点まとめ seq2seq では最終的なthroughout vectorが固定長であるため、長い文章になると意味を正しく表現できない問題がある。文章の長さに応じて出力するベクトル長が変化する仕組みが必要となる。 そのため Attention Mechanismが発明され、どの単語が重…

深層学習day3 Section6:word2vec

要点まとめ 単語を機械学習が扱えるベクトルに変換するときに、one-hot-vectorだと単語の数だけの要素数になってしまい、数万という要素数になってしまう。これを、embedding表現にすることで要素数が数百のベクトルで表現するようにする手法をword2vecとい…

深層学習day3 Section5:seq2seq

要点まとめ seq2seqとは機械翻訳等に用いられる自然言語用のネットワーク。 2つのネットワークから成り、1つ目は入力から隠れ層のベクトル表現に変換する。(Encoder) 2つ目は隠れ層のベクトル表現を別の表現に変換する。(Decoder) Encoder RNN 自然言語を機…

深層学習day3 Section4:双方向RNN

要点まとめ 双方向RNNとは過去の情報だけではなく、未来の情報も用いて精度を向上させるモデルのこと。 実用例としては文章の推敲や機械翻訳などがある。 機械翻訳等は未来の情報も用いることで、前後の文脈から意味を出力することが可能になる。 過去からの…

深層学習day3 Section3:GRU

要点まとめ LTSMでは演算負荷が大きく、学習時間がかかってしまうのが問題だった。 GRU (Gated Recurrent Unit)は演算量を削減して改善したもの。 数式 入力対する重み、前回の出力に対する重みを用いて、 リセットゲートの出力 活性化関数を通すと、 また、…

深層学習day3 Section1:再帰型ニューラルネットワークの概念

要点まとめ RNNの概要 再帰型ニューラルネットワーク (RNN=Recurrent Neural Network)とは、時系列データのように時間的な繋がりを持つデータを扱うためのネットワーク。 時系列データの代表例としては、音声データ・テキストデータ等がある。 通常のNNでは…

深層学習day3 Section2:LSTM

要点まとめ RNNは時系列を遡るほど勾配が消失していき、長い時系列の学習が困難である。特に活性化関数にシグモイド関数を用いると、シグモイド関数の微分の最大値が0.25なので、勾配消失問題が発生しやすくなる。 LSTM(Long Short Term Memory)は、勾配消失…

深層学習day2 Section5:最新のCNN

要点まとめ AlexNet 入力は224x224x3、畳み込み層、Pooling層、全結合層を通して、1000の出力を得られる。 全結合層の処理 Flatten 13x13x256 のデータを単にベクトル化して1313256=43264のベクトルにする Global Max Pooling 13x13x256のデータに対して、13…

深層学習day2 Section4:畳み込みニューラルネットワークの概念

要点まとめ 畳み込みニューラルネットワークは次元的な繋がりのあるデータを認識するためのネットワーク。音声、音声(フーリエ変換)、CTスキャン画像、カラー画像、動画等を扱える。 畳み込み層、プーリング層、全結合層の組み合わせで構成される。 畳み込み…

深層学習day2 Section3:過学習

要点まとめ 過学習とは、訓練用データにのみ過剰に適応してしまい、汎化性能が低下してしまった状態で、訓練誤差とテスト誤差とに乖離が生じてしまう状態。 原因は下記のような原因でネットワークの自由度が高すぎること。 パラメータ数が多い パラメータ値…

深層学習day2 Section2:学習率最適化手法

要点まとめ 学習率の最適化手法は様々あるが、試験の範囲では以下のものがある。 勾配降下法 効果的だが、局所最適解に陥りやすい。 モメンタム Momentum=運動量、勢い。 前回の重みの減算量に係数を掛けて加算することで、局所最適解を抜け出して大域最適解…

深層学習day2 Section1:勾配消失問題

要点まとめ 勾配消失問題とは、誤差逆伝播法の下位層に進んでいくにつれて、勾配がどんどん緩やかになっていくため、勾配降下法におよる更新で下位層のパラメータが殆ど変わらずに訓練が進まなくなり、最適値に収束しなくなることである。 シグモイド関数は…

深層学習day1 Section5:誤差逆伝播法

要点まとめ 誤差逆伝播法とは、算出された誤差を出力層側から順に微分し、前の層へと伝播する。最小限の計算で各パラメータでの微分値を解析的に計算する手法。 入力に重みとバイアスを用いて、更に出力関数は恒等写像を用いると、出力までは下記の式になる…

深層学習day1 Section4:勾配降下法

要点まとめ 深層学習の目的は、学習を通して誤差を最小化するパラメータを求めるること。誤差をパラメータで偏微分したを用いてパラメータを更新することで、誤差を最小とするパラメータを求めることができる。 学習率を用いて、 という式でを更新していくが…

深層学習day1 Section3:出力層

要点まとめ 出力層用の活性化関数と誤差関数は、問題の種類によってある程度決まっている。回帰問題の場合は恒等写像と二乗誤差を用いる。二値分類の場合はシグモイド関数と交差エントロピーを用いる。多クラス分類の場合は、ソフトマックス関数と交差エント…

深層学習day1 Section2:活性化関数

要点まとめ ニューラルネットワークにおいて、次の層への出力の大きさを決める非線形の関数。入力値の値によって、次の層への信号のON/OFFや強弱を定める働きをもつ。 活性化関数の種類には、ステップ関数、シグモイド関数、ReLU関数 等がある。 ステップ関…

深層学習day1 Section1:入力層~中間層

要点まとめ 入力層はニューラルネットワークに対する入力で、ベクトル を用いて表す。 重みは次の中間層への伝達する重みで、ベクトルを用いて表す。 出力は下記のように表せる。 pythonでの記述は下記 u = np.dot(x, W) + b 実装演習 確認テスト考察 中間層…

機械学習5:サポートベクターマシーン

要点まとめ 次元ベクトルの分類を行うために、パラメータを用いての符号で分類する。 分類境界から最も近いベクトルをサポートベクトルといい、分類境界とサポートベクトルとの距離をマージンという。 分類誤りを許さない分類をハードマージンといい、スラッ…

機械学習4:主成分分析

要点まとめ 主成分分析は、学習データを最も情報量の多い軸、即ち分散の大きい軸に射影する。その変換ベクトルを求めるには、制約条件をノルムが1の条件のもと、変換先の分散が最大となる条件を、ラグランジュの未定乗数法で解くと、はの分散共分散行列の固…

機械学習3:ロジスティック回帰モデル

要点まとめ ロジスティック回帰モデルは2クラス分類問題に用いる。入力はm次元のベクトルで、目的変数は0or1の値になる。 ロジスティック回帰の予測モデルは、線形回帰モデルとシグモイド関数を組み合わせた、 で表される。 モデルの学習は、負の尤度関数の…

機械学習2:非線形回帰モデル

要点まとめ 線形では表現しきれない現象に対して、非線形回帰モデリングを実施する。代表的な非線形関数には、多項式関数、ガウス型基底関数等があるが、非線形関数を一般的に をすると、線形モデルのパラメータがと表されたのと同様に、非線形回帰モデルの…

機械学習1:線形回帰モデル

線形回帰モデルとは 要点まとめ 説明変数 に対して、パラメータを使用して、のモデルを立てる。 学習用データ を用いて、平均二乗誤差が最小となる を求めるために、平均二乗誤差を で偏微分したものが0になる条件から、を求める。 Pythonで実装する場合、 #…

ベクトルの微分

ベクトルの微分の定義 スカラを返す関数fにおいて、列ベクトルxでの微分係数は以下のように定義される。 ベクトル は、 なので、 2次形式の微分 2次形式 の微分を考える。 となることから、 これに をかけると、 で偏微分すると、 ~を並べてベクトル表記に…