1.1K Views
January 29, 23
スライド概要
トピックス:ディープラーニングの種類, ディープラーニングの用途, ディープラーニングの仕組み, 画像理解, 畳み込みニューラルネットワーク, 顔情報処理, 姿勢推定, 自然言語処理, ディープラーニング, 人工知能
ディープラーニング(スライドとプログラム例,Python を使用)(全15回)
https://www.kkaneko.jp/ai/ae/index.html
金子邦彦研究室ホームページ
https://www.kkaneko.jp/index.html
金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko
10. 中間まとめ (ディープラーニング,Python を使用) (全15回) https://www.kkaneko.jp/cc/ae/index.html 金子邦彦 1
〇 いまからディープラーニング全般を学びたい 〇 画像理解について学びたい → 資料の 10-4, 10-5, 10-6 〇 物体検出,セグメンテーションの実験を深めていき たい → 資料の 10-4 (補助的に 10.5, 10-6) 〇 姿勢推定について学びたい → 資料の 10-8 2
• 人工知能(AI)は,ある定まった仕組みで動く • コンピュータを利用 • 現在は,ディープラーニングの進展が著しい.着 実に技術が進展している 3
アウトライン 番号 項目 10-1 10-2 機械学習 ディープラーニングの種類,用途 10-3 10-4 10-5 10-6 10-7 10-8 10-9 ディープラーニングの仕組み 画像理解 畳み込みニューラルネットワーク ディープラーニングによる画像理解 顔情報処理 姿勢推定 自然言語処理 各自、資料を読み返したり、課題に取り組んだりも行う 4
10-1. 機械学習 5
ディープラーニング • 学習による上達の能力 • 訓練データを使用して,学習を行う • 巨大な訓練データ,深い層のニューラルネット ワークの利用により,良好な性能・機能を発揮す る場合も 6
一般のプログラミング データ (入力) 入力 9 10 11 12 13 14 プログラム コンピュータ 処理結果 入力 9 10 11 12 13 14 処理結果 500 500 500 1000 1000 1000 あらゆる入力について 正しい処理結果が得られるように, プログラムを作成し,テストする 7
機械学習での予測 データ (入力) 入力 10 13 プログラム 予測結果 コンピュータ 入力 予測結果 10 500 13 1000 訓練データ 入力 9 11 12 14 正解 500 500 1000 1000 訓練データにより,プログラムが自動調整される ニューラルネットワークの重み, 決定木の形や分岐ルールなど 8
① 一般のプログラミング データ (入力) ・プログラムは人間が作成し, テストし,調整する. プログラム 処理結果 コンピュータ ② 機械学習での予測 ・学習による上達の能力 データ (入力) プログラム 訓練データ コンピュータ 予測結果 9
機械学習での汎化 訓練データ 入力 9 11 12 14 正解 500 500 1000 1000 汎化により,未知のデータ についても予測ができるよ うになる 訓練データの汎化 入力 7 8 9 10 11 12 13 14 15 16 予測結果 500 500 500 500 500 1000 1000 1000 1000 1000 • 汎化は100%成功するわけでない. • 訓練データとは別のデータ(検証データ)を 用いて検証する 10
「汎化は,プログラミングを補うもの」と 考えられるようにも • ふつうのプログラミング: あらゆる事態を想定して,プログラムを作成 • 汎化: 未知のデータについても処理できる 11
10-2. ディープラーニングの種 類,用途 12
ニューラルネットワークの種類 ① 自己符号化(オートエンコーダ) データを低次元の符号にマッピング 学習:事前に、データを与えて学習 ② 分類や予測 あるデータから別のデータを導く 学習:事前に、データと正解(分類結果,予 測結果)のペアを与えて学習 13
自己符号化(オートエンコーダ) 自己符号化(オートエンコーダ) データを低次元の符号にマッピング 元データ 符号 (高次元) (低次元) 出力 (高次元) 出力が、元データと同じになるように学習 14
自己符号化(オートエンコーダ)の応用例 画像復元 写真からの顔の3次元化 15
自己符号化(オートエンコード) 訓練データ コード 訓練データには含まれていな くても,現実にありえそうな データを符号化(コード化) 16
自己符号化(オートエンコーダ) 学習により、「現実にあり得るデータを生成で きる能力を獲得」と考えることもできる 訓練データ 現実にありえる データの範囲 17
分類、予測 データ 分類結果 予測結果 所定の結果が得られるようにに学習 (学習には、データの正解が必要) 18
分類の例 物体検知、セグメンテーションなどの画像理解 = 画素や領域を AI で分類 19
分類 訓練データ それぞれの範囲を得 る 分類:何種類かに分類すること 20
ディープラーニングの応用分野 〇 自己符号化(オートエンコーダ) • 創作 • 合成 • 欠損の補充 • 翻訳 〇 分類や予測 • 単純な分類 • さまざまな認識や推論 • • • • 画像理解(画像分類,物体検知,セグメンテーション) 顔情報処理 姿勢推定 音声,音楽に関する認識 • 予測 21
10-3. ディープニューラルネット ワーク 22
ディープニューラルネットワーク • ディープニューラルネットワークは, 層が深い(層の数が多い)ニューラルネットワーク 層の数が少ない(浅い) 層の数が多い(深い) 23
ニューラルネットワークの仕組み • 前の層から結果を受けとって,次の層へ結果を 渡す 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 入力層 〇 はニューロン,線は結合 〇 〇 〇 〇 〇 (他の結合は書 〇 〇 いていない) 〇 (他の結合は書 〇 〇 〇 いていない) 〇 〇 〇 全結合のときは, 〇 〇 〇 次層の全ニュー 全結合のときは, 〇 〇 ロンと結合する 次層の全ニュー 〇 〇 ロンと結合する 〇 〇 〇 〇 〇 出力層 中間層 24
ニューラルネットワークのユニット ニューラルネットワークのユニットは,数理により 動く ① 入力は複数 ② 入力を重みづけし合計をとる ③ その合計から出力値を得る ・合計に,バイアスという値を 1 2 3 4 5 6 7 8 9 入力 1 2 3 4 5 6 7 8 9 1 1 1 0 1 1 0 0 1 白黒の画像 (画素は 0 または 1) 足し引きしたあと,活性化関数 が適用され出力値が得られる. ・活性化関数はさまざまな種類 重み w1 ~ w9 w1 w2 w3 w4 w5 w6 w7 w8 w9 合計 シグモイド ユニット 0.9 0.8 0.7 合計は, 0.6 1 × w1 + 1 × w2 + 1 × w3 + 0 × w4 + 1 × w5 + 1 × w6 + 0 × w7 + 0 × w8 + 1 × w9 0.3 ReLU (2011年発表) 0.5 0.4 0.2 0.1 0 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 25
1 2 活性化関数 重み 1, 1 0, 1 1, 0 1 1 1 2.0 ReLU 1.0 0 0 ユニット -2.0 -1.0 0.0 1.0 -1重み 2.0 1.0 0 0 2 0, 0 入力 1 正解 2.0 -2.0 -1.0 0.0 1.0 2.0 重み ReLU + バイアス (バイアス は -1) 1 1 2.0 訓練データ ユニット 1.0 0 -2.0 -1.0 0.0 1.0 2.0 ReLU + バイアス (バイアス は +1) 26
それぞれのユニットが「特定のパターンを識別して いる」と考えることもできる 1 2 1, 1 0, 1 1, 0 1 0 0 1 1 2.0 ReLU 1.0 0 ユニットが 識別する パターン -2.0 -1.0 0.0 -1 1 2.0 2.0 1.0 0 2 0, 0 1.0 1 1 ユニットが 識別する パターン -2.0 -1.0 0.0 1.0 2.0 ユニットが 識別する パターン ReLU + バイアス (バイアス は -1) 2.0 1.0 0 -2.0 -1.0 0.0 1.0 2.0 ReLU + バイアス (バイアス は +1) 27
10-4. 画像理解 28
コンピュータによる画像理解 • コンピュータが画像を理解する 画像が何であるか,物体がどこに,どういう大きさ, 形で,いくつあるか,をコンピュータが説明できる 能力を持つ 29
① 画像分類 画像分類の結果は,ラベルと確率 ※ 5つの候補 (top 5) が表示さ れている 30
② 物体検出 car person bicycle バウンディングボックス, ラベルを得る バウンディングボックスは, 物体を囲む最小のボックス(四角形) 31
③ セグメンテーション 物体の形を画素単位で抜き出し ラベルを得ることもできる 32
画像理解の主な種類 ① 画像分類 「何があるか」を理解 person bicycle person ② 物体検出 場所と大きさも理解 ③ セグメンテーション 画素単位で領域を理解 bicycle 33
セグメンテーションを試すことができるオンライ ンのサイト • OneFormer のデモサイト • URL: https://huggingface.co/spaces/shilabs/OneFormer • セグメンテーションの種類:パノプティック,インスタン ス,セマンティック • データセット:COCO(133 クラス),Cityscapes(19 クラス),ADE20K (150クラス) 文献: Jitesh Jain, Jiachen Li, MangTik Chiu, Ali Hassani, Nikita Orlov, Humphrey Shi, OneFormer: One Transformer to Rule Universal Image Segmentation, arXiv:2211.06220, 2022. 34
訓練データにより結果が変わってくる 元画像 • • • • 訓練データは COCO 訓練データは Cityscapes 訓練データは ADE20K OneFormer のデモサイトを使用 URL: https://huggingface.co/spaces/shi-labs/OneFormer パノプティック・セグメンテーションを実行 バックボーンは DiNAT-L を使用 35
ADE20K • アノテーション済みの画像データ • オブジェクト(car や person など) も,背景領域も (grass, sky など) ,画素単位でアノテーションさ れている • 画像数: 30,574 • クラス数: 3,688 ADE20K データセットの URL: http://groups.csail.mit.edu/vision/datasets/ADE20K/ 文献: Bolei Zhou, Hang Zhao, Xavier Puig, Sanja Fidler, Adela Barriuso, Antonio Torralba, Scene Parsing Through ADE20K Dataset, CVPR 2017, also CoRR, abs/1608.05442, 2017. 36
CityScapes • アノテーション済みの画像データ • 50都市の数ヶ月間(春,夏,秋)の日中,良好な/ 中程度の天候のもとで撮影,計測 • 画像数: 24,998 • クラス数: 30 road, sidewalk, parking, rail track, person, rider, car, truck, bus, on rails, motorcycle, bicycle, caravan, trailer, building, wall, fence, guard rail, bridge, tunnel, pole, pole group, traffic sign, traffic light, vegetation, terrain, sky, ground, dynamic, static CityScapes データセットの URL: https://www.cityscapes-dataset.com/ 文献: Marius Cordts, Mohamed Omran, Sebastian Ramos, Timo Rehfeld, Markus Enzweiler, Rodrigo Benenson, Uwe Frank\ e, Stefan Roth, Bernt Schiele, The Cityscapes Dataset for Semantic Urban Scene Understanding, CVPR 2016, also CoRR, abs/1604.01685, 2016. 37
COCO • 画像データ,人体のランドマーク,人体姿勢の データ • ラベル付け済みの画像数: 200,000以上 • オブジェクトのクラス数: 80 • ランドマーク:左目、鼻、右腰、右足首などの 17 のキーポイント COCO データセットのURL: https://cocodataset.org/ 文献: Tsung-Yi Lin, Michael Maire, Serge Belongie, Lubomir Bourdev, Ross Girshick, James Hays, Pietro Perona, Deva Ramanan, C. Lawrence Zitnick, Piotr Dollr, Microsoft COCO: Common Objects in Context, CoRR, abs/1405.0312, 2014. 38
10-5. 畳み込みニューラルネッ トワーク(CNN) 39
畳み込み 畳み込みは,あるデータを移動しながら,カーネルと 重ね合わせる.重ね合わせの結果は1つの値になる. データ 移動 カーネルと同じ長さに切り出し カーネル 重ね合わせ (掛け算と合計) 40
畳み込みの例 データ 0 1 0 1 0 0 1 1 1 0 この部分を切り出す カーネル 1 0 1 0×1 1×0 0×1 0 重ね合わせの結果: 0×1 + 1×0 + 0×1 = 0 41
畳み込みの例 移動 0 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 0 1 0×1 1×0 0×1 1 0 1×1 0×0 0×1 1 1×1 0×0 1×1 1 0 1 2 0 1×1 1×0 1×1 1 0×1 0×0 0×1 1 0×1 1×0 0×1 0 0 1 1 0 0 1 0 1 1×1 1×0 0×1 1 0×1 1×0 1×1 1 1 2 1 42
畳み込み 畳み込みは,「特定のパターンに強く反応する」と考える こともできる 畳み込み結果が大きくなる部分 データ 0 1 0 0 1 0 2 1 0 0 1 1 1 0 1 1 1 2 1 0 カーネル 1 畳み込み結果 43
畳み込みのまとめ • 畳み込みは,あるデータを移動しながら,カーネルと 重ね合わせる. • カーネルは値の並び (例) 0 1 0 • 重ね合わせは,同じ長さの2つのデータについて,要 素同士の掛け算の合計. 44
画像の畳み込み カーネル(3×3マス) 元画像(5×5マス) 出典: https://serokell.io/blog/introduction-to-convolutional-neural-networks 45
画像での畳み込み 元画像(5×5マス) カーネル (3×3マス) 切り出した部分とカーネルの 掛け算の合計 0×1 1×0 1×1 0×1 1×1 1×1 0×0 1×0 1×1 合計: 4 (これが畳み込み結果) 切り出し(3×3マス) カーネルと同じサイズ で切り出す 畳み込み 46
画像での畳み込み カーネル (3×3マス) 元画像(5×5マス) 0×1 1×0 1×1 0×1 1×1 1×1 0×0 1×0 1×1 4 3 合計: 4 切り出し(3×3マス) 切り出し領域を横にずらす 1×1 1×0 0×1 1×1 1×1 0×1 1×0 1×0 0×1 畳み込み結果 合計: 3 畳み込み結果 47
畳み込み 元画像(5×5マス) カーネル (3×3マス) 切り出した部分とカーネルの 掛け算の合計 0×1 1×0 1×1 0×1 1×1 1×1 0×0 1×0 1×1 合計: 4 (これが畳み込み結果) 切り出し(3×3マス) カーネルと同じサイズ で切り出す 畳み込み 48
畳み込み層 • 畳み込み層は,一度に複数の畳み込み(数十以 上)を行うように作る のがふつうである. • それぞれの畳み込みについて,全ユニットで,重 みとバイアスが同じ 複数のカーネル 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 前の層 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 〇 1つの畳み込み層 49
畳み込みニューラルネットワーク(CNN) 畳み込みニューラルネットワークは,畳み込み 層と,プーリング層を交互に繰り返すディープ ニューラルネットワーク 畳 み 込 み 層 プ ー リ ン グ 層 畳 み 込 み 層 プ ー リ ン グ 層 畳 み 込 み 層 プ ー リ ン グ 層 畳 み 込 み 層 プ ー リ ン グ 層 畳 み 込 み 層 プ ー リ ン グ 層 さまざまなバリエーション • 畳み込み層 • プーリング層 変になる ・・・ ・・・ 畳み込みによるパターンの識別 画像の小移動に対して,出力が不 50
プーリングを行う Max Pooling 層 • 2次元のデータの縮小 (例)サイズ 100 × 100 ⇒ 50 × 50 のように • 一定領域内の結果を,1つにまとめる. • 定まった計算を行う(学習の対象ではない) • Max Pooling は,縮小後に,最大値が残る 範囲内のユニットの活性度の最大を得る 7, 1 の最大値は 4 ・「4, 8, 7, 1」の 4マス から,最大値の 8 を選ぶ. ・4, 8, 出典: https://github.com/jeffheaton/t81_558_deep_learning/blob/084023876b6cf09c931b452584dbd44c56314a03/t81_558_class_06_2_cnn.ipynb 51
畳み込みニューラルネットワークでのパターン認識 「畳み込みニューラルネットワークの利用により,さまざま なレベルのパターンを抽出・認識できるようになる」という 考える場合も Mei Wang, Weihong Deng, Deep Face Recognition: A Survey, arXiv:1804.06655, 2018. 52
10-5. ディープラーニングによ る画像理解 53
画像分類 AlexNet (2012年) • 画像分類,教師有り学習,ディープニューラルネットワーク • 特徴:CNN(畳み込みニューラルネットワーク)の導入 畳み込み, max pooling, 正規化(LCN), softmax, ReLU, ドロップアウト L C N 畳 み 込 み 畳 み 込 み 畳 み 込 み max pooling 畳 み 込 み max pooling L C N max pooling 畳 み 込 み 全 結 合 全 結 合 全 結 合 • 画像分類結果が報告された 訓練データ: 画像約 100万枚以上(ImageNet データセット,22000種類に分 類済み),ILSVRCコンペティション: 画像を 1000 種類に分類 文献: ImageNet classification with deep convolutional neural networks, Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, NIPS'12, 2012. 54
ディープラーニングによる画像分類の進展 (1/2) CNN(畳み込みニューラルネットワーク) • AlexNet(2012年) CNN(畳み込みニューラルネットワーク)の導入 • VGG-16,VGG-19(2014年) プーリングカーネルのサイズ縮小.サイズ縮小の結果,従来より深い CNN を可能に • ResNet (2015 年) 残差結合 (Residual Connection),Bottleneck Residual Block の導入. 30層以上の深い CNN を可能に.ResNet34, ResNet50, ResNet101, ResNet 152 などの種類 • Xception(2016年) ResNet の畳み込み層を Depthwise Separable Convolution に置き換え • EfficientNet(2019年) CNN の深さとチャンネル数と解像度の配分を探索 (私見)CNNの深さ(層の数)を増やすという方向では完成の域にある. いまは,チャンネル数,解像度も含む総合的な分析が行われている 55
ディープラーニングによる画像分類の進展 (2/2) Transformer • Transformer(2017年) 自然言語処理のために Transformer が考案された.Attention を特色 とする. • vision Transformer (2020年) Transformer を画像理解に使用.CNNと違うもので,畳み込み演算 を用いない • Swin Transformer (2021年) vision Transformer に Sifted Windows を導入 • DiNAT(2022年) vision Transormer で用いられる NA (Neighborhood Attention) の 改良. (私見)精度向上の途上である.CNNによる方法を性能で上回る可能性も あるし,そうでない可能性もある 56
Residual Block x CNN 層 (weight layer) 残余関数 (residual mapping) ReLU 残余接続 CNN 層 (weight layer) + Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, Deep Residual Learning for Image Recognition, IEEE Conference on Computer Vision and Pattern Recognition, 2016.
Bottleneck Residual Block 58
物体検出の仕組み ① 元画像から 切り出す 最初の区切り 画像分類 結果 59
物体検出の仕組み ② 画像分類 結果 区切りごとに画像分類を行う. 60
「区切り」を用いた物体検出での課題と解決 課題:物体の大きさがさまざま (物体の大きさが一定ならば,検出は 難しくはない) 解決へのアプローチ さまざまなスケールの画像を作る(マルチスケール) マルチスケールの画像の中のどれかでは, 物体は「一定の大きさ」に近くなる 61
画像分類とセマンティック・セグメンテーション 画素 person bicycle 画像を分類 person 画素単位で分類 画像分類 全画素を分類 セマンティック セグメンテーション 62
セグメンテーションのための FCN (2015年発表) • 画素ごとに分類結果の正解を与えての学習を可能にする技術 • 最終層を畳み込み層にする = FCN と呼ぶ 最終層は FCN 最終層は 全結合層 元画像 結果 元画像 畳み込みニューラルネット ワークによる画像分類 結果 畳み込みニューラルネットワー クと FCN によるセマンティッ ク・セグメンテーション Jonathan Long, Evan Shelhamer, Trevor Darrell, Fully Convolutional Networks for Semantic Segmentation, arXiv:1411.4038, 2015. 63
FCN まとめ • 画像分類を行う畳み込みニューラルワーク(出力は分類結 果)で,最終層を FCN に置き換え • セマンティック・セグメンテーションに応用 Jonathan Long, Evan Shelhamer, Trevor Darrell, Fully Convolutional Networks for Semantic Segmentation, arXiv:1411.4038, 2015. 64
セグメンテーションの種類 元画像 パノプティック・セグメンテーション • • • • インスタンス・セグメンテーション セマンティック・セグメンテーション OneFormer のデモサイトを使用 URL: https://huggingface.co/spaces/shi-labs/OneFormer 訓練データは COCO バックボーンは DiNAT-L を使用 65
セグメンテーションの種類 セマンティック・セグメンテーション 全画素を種類に分類 インスタンス・セグメンテーション 個別の物体を識別する 「物体として識別できない部分は結果がない」 ということもある パノプティック・セグメンテーション セマンティック・セグメンテーションと インスタンス・セグメンテーションの同時実行 66
10-6. 顔情報処理 67
群衆のカウント • 群衆のカウント(画像内の人数を数える) • 監視等に役立つ. 元画像 FIDTM 法による群衆のカウント FIDTM 法(2021年発表)は, それ以前の手法よりも,さまざま な大きさの顔を精度よく検出 できるとされている 68
顔写真からの3次元再構成 3DFFA 法(2022年発表) • 元画像から,3次元の顔を生成(3次元再構成) • 顔検出,顔ランドマーク(顔の目印となるポイント)の検 出ののち,ランドマークに顔の3次元モデルをあてはめる 元画像 顔ランドマーク 3次元再構成 69
顔検出を行う AI • 顔検出を行う AI は教師あり学習である • 顔検出は,物体検出が基礎となる データ (入力) プログラム 顔検出結果 コンピュータ 顔画像と バウンディングボックス 訓練データ 顔画像の例 70
• 顔識別(本人の特定)を行い,鍵代わりに使用 71
顔のコード化 • 顔のコードは,複数の数値(ふつう100以上)の組み合 わせ • 顔画像から,顔ランドマークを求め,顔のコードを得る • さまざまな用途:顔識別(本人の特定),顔認識,年齢の 推定,性別の推定,表情の推定,顔の3次元再構成など 顔検出, 顔ランドマーク 数値化 72
顔検証 (face verification) 2つの別の写真あるいはビデオを照合し,同一人 物であるかを判定する 顔の 比較 顔の コード (距離計算) コード 同一人物である または 同一人物でない 73
顔認識 • データベース内の顔写真との比較により、人物を 特定する データベース 顔の 顔の 顔の 顔の 顔の 顔の 比較 顔の 顔の 顔の 顔の コード コード コード(距離計算) コード コード コード コード コード コード コード 写真内のそれぞれの人物が 誰なのか 74
10-7. 姿勢推定 75
人体の姿勢推定 人工知能で処理 撮影 姿勢推定の結果 マーカーレス:画像,ビデオから姿勢推定を行う. 特別な機材は使わない 76
人体の姿勢推定の例 (OpenPose を使用) 77
人体の姿勢推定 • 人体のランドマーク(顔,胴体,手,足の中の特 定の点)の位置推定 • 人体の姿勢についての情報を得る 78
ランドマークとボーン ボーン = 骨格,ランドマーク = 点 OpenPose では,25個のランドマークが定 まっている (OpenPose は,人体の姿勢推定の一手法) 0:鼻 1:首 2:右肩 3:右ひじ 4:右手首 5:左肩6:左ひじ 7:左手首 8:真ん中腰 9:右腰 10:右ひざ 11:右足首 12:左腰 13:左ひざ 14:左足首 15:右目16:左目 17:右耳 18:左耳 19:左足親指 20:左足小指 21:左かかと 22:右足親指 23:右足小指 24:右かかと OpenPoseのランドマークとボーン 79
ランドマークの位置推定 ①元画像 ②ランドマークの ③ランドマークと 位置推定 ボーン ②ランドマークの位置推定:Body Part Detection 法では,元画像の中から,顔, 首,肩,手などの部位を検出する ③ランドマークとボーン:②の結果と体全体の情報から,ランドマークの位置 の特定,ボーンの生成を行う Qi Dang, Jianqin Yin, Bin Wang, Wenqing Zheng, Deep Learning Based 2D Human Pose Estimation: A SurveyDeep Learning Based 2D Human Pose Estimation: A Survey, Tsinghua Science and TechnologyTsinghua Science and Technology, Volume 24 Issue 6 Article 5, 2019. 80
ランドマークの位置推定 各レベルでの推定結果を 後段へ 画像の縮小 画像の拡大 ランドマークの位置推定 部位の大きさはさまざま ⇒ マルチスケールの画像を使う • 画像を複数レベルに縮小し,各レベルで部位を検出 • 元の大きさに戻しながら,検出結果を重ね合わせ Alejandro Newell, Kaiyu Yang, and Jia Deng, Stacked Hourglass Networks for Human Pose Estimation, arXiv:1603.06937v2, 2016. https://arxiv.org/pdf/1603.06937v2.pdf 81
10-8. 自然言語処理 82
人間の言葉を理解し, 曲をかけたり,電気製品を制御したり するスマートスピーカー 83
問答 リカレントニューラルネットワークは,回帰により,過去の情報を テキスト 保持する.時系列データなどのデータの並びを扱う能力を持つ 質問 要約 回帰 答え 保持する リカレントニューラルネットワークは,回帰により,過去の情報を 保持する.時系列データなどのデータの並びを扱う能力を持つ 要約 データは回帰する能力がある. テキスト生成 リカレントニューラルネットワークは,回帰により,過去の情報を 保持する.時系列データなどのデータの並びを扱う能力を持つ 生成 リカレントニューラルネットワークは,回帰により,過去 の情報を保持する.時系列データなどのデータの並びを扱 う能力を持つ.線形回帰モデル(pn-model)は,過去のデータが 現在から何百年後かに再度出現する.つまり, AIが生成する結果の例 84
翻訳(日本語から英語,英語から日本語) DeepL 翻訳ツール https://www.deepl.com/ja/translator 85
自然言語の処理の例 • • • • • • • • • 問答 要約 テキスト生成 分類 翻訳 欠損の補充 文章の類似度 人間の言葉として正しいか正しくないかの判定 文法に関するもの(品詞,係り受け) など 86
単語の特徴ベクトル 単語の特徴ベクトル ・・・ 単語を数値化(1つ の単語を複数の数値の組で置き換えたもの) 単 語 数値化 iPhone 多数の数値の組 • 文章は長い.単語の順が変わっても同じ意味とい うこともある: 文章全体を単語の列として扱う.2017年発表の Transformer などの技術がある. 87
自然言語を扱うニューラルネットワーク <文章> = 単語1 単語2 単語3 単語1 単語2 単語3 ニューラル ネットワーク 特徴 特徴 特徴 ベクトル ベクトル ベクトル 88
自然言語を扱うニューラルネットワーク <文章> = 単語1 単語2 単語3 単語1 単語2 単語3 ニューラル ネットワーク 1 番 目 の 出 力 特徴 特徴 特徴 ベクトル ベクトル ベクトル 89
自然言語を扱うニューラルネットワーク <文章> = 単語1 単語2 単語3 単語1 単語2 単語3 ニューラル ネットワーク 2 番 目 の 出 力 特徴 特徴 特徴 ベクトル ベクトル ベクトル 90
自然言語を扱うニューラルネットワーク 単語1 単語2 単語3 ニューラル ネットワーク 特徴 特徴 特徴 ベクトル ベクトル ベクトル 順々に処理される (文章が長いときも同じ) 3 番 目 の 出 力 91
単語の特徴ベクトル 単語の特徴ベクトル ・・・ 単語を数値化(1つ の単語を複数の数値の組で置き換えたもの) 単 語 数値化 iPhone 多数の数値の組 92
【自然言語処理の課題】 語順が違っても扱えること 今日は晴れだが、明日も晴れだ。 明日は晴れだが、今日も晴れだ。 文章は長い.単語の順が変わっても同じ意味 ということもある: 2017年発表の Transformer などの技術がある. 93
Transformer リカレントニューラルネットワークの欠点を克服す るものとして,Transformer が 2017年提案された • 列を入力とし,列を出力とする点などは,リカレ ントニューラルネットワークと同じ • リカレントニューラルネットワークの欠点を克服 するため,離れた単語間に依存関係を直接扱う Attention の仕組みを導入 94
全体まとめ 1/2 ① 機械学習の能力向上 → ディープニューラルネットワーク, 大量の訓練データの利用 ② 画像分類 → 畳み込みニューラルネットワーク ③ 物体検出 → マルチスケール 95
全体まとめ 2/2 ④ セグメンテーション → 最終層を畳み込み層にする(FCN) ⑤ 顔情報処理 → 顔のコード化,顔のランドマーク ⑥ 姿勢推定 → ランドマークとボーン ⑦ 自然言語処理 → 単語の特徴ベクトル,Transformer 96