SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Transformerを用いた
AutoEncoderの設計と実験
発表者:myxy
ML集会
誰?
● myxy(みきしぃ)
● 本業はプログラマ
● 機械学習は完全に趣味で勉強してる
アバター作ったりもする
アバターワールドの検索・表示システムとか作った
Transformerを用いた
AutoEncoderの設計と実験
発表者:myxy
ML集会
Transformer
"Attention is All You Need"より引用
● 自然言語処理で活躍
● 言語・音声等系列データの処理
● パラメータが増えるほど強いらしい
Transformerを用いた
AutoEncoderの設計と実験
発表者:myxy
ML集会
AutoEncoder
● 入力次元より低い次元に圧縮してから
元のデータを復元する
● 入力と出力の誤差を最小化
● データに対して低次元の
特徴量が得られる
英語版wikipedia "AutoEncoder"より引用
(CC-BY-SA)https://en.wikipedia.org/wiki/Autoencoder#/
media/File:Autoencoder_structure.png
動機
通常のAutoEncoderは入出力次元数が固定されており
長さが変化する系列データの処理はできない
Transformerを使って
系列データのAutoEncoderを作りたい
既存研究
"Masked Autoencoders Are Scalable Vision Learners"より引用
AutoEncoderと銘打っているが
やってることはマスクしたパッチの補間
出力次元数を下げる
● 系列長は減らない
● あまり次元を下げると
位置情報が保持できなくなる
次元数を減らすのではなく
系列長を減らせるだろうか?
ナイーブな方法
Transformer Encoder
系列長n × 次元数256
・・・
・・・
系列長n × 次元数128
V K Q
Transformerに使われる
Query-Key-Value型のAttentionでは
Queryに入力した系列と
同じ長さの系列が出力される
系列長n
・・・
系列長n
・・・
V K Q
Transformerに使われる
Query-Key-Value型のAttentionでは
Queryに入力した系列と
同じ長さの系列が出力される
系列長n
・・・
系列長n
・・・
Key-Valueの方に入力すれば
系列長を圧縮できるのでは?
位置エンコーディング
(潜在ベクトル用)
・・・
潜在ベクトル系列
・・・
Encoder
(Transformer Decoder)
提案手法
Decoder
(Transformer Decoder)
入力ベクトル系列
・・・
位置エンコーディング
(入力ベクトル用)
・・・
+
位置エンコーディング
(入力ベクトル用)
・・・
出力ベクトル系列
・・・
Key-Value
Key-Value
Query
Query
同じ位置エンコーディ
ングを使用
x N
x N
空間的な位置というより
潜在ベクトルを識別するIDに近い
実験
● CIFAR-10の画像データ(32x32)を
4x4のパッチに分割(64個x48次元)
● Encoder, Decoderはそれぞれ6層の
TransformerDecoder
● 位置エンコーディングは正規分布で初期化して
学習可能な位置埋め込みとした
● 詳しくはコード見て
https://gist.github.com/myxyy/0e06c430652b35cd
a4d56aaf21eb7fa9
潜在ベクトルが16個の16次元ベクトルの場合
● 左から入力画像、潜在ベクトル、出力画像
画像の位置埋め込み、潜在ベクトルの位置埋め込み
● 500epoch時点のvalidationのMSELossは0.00805
● 500epoch時点のvalidationのMSELossは0.00646
● 16x16よりちょっと鮮明になった
潜在ベクトルが32個の16次元ベクトルの場合
● 500epoch時点のvalidationのMSELossは0.00480
● 32x16よりも性能が良い
潜在ベクトルが16個の32次元ベクトルの場合
考察
● なんで32x16より16x32の方が性能いいの?
○ Transformerの系列は並び替えで変化しない
○ 16x16は256次元ベクトルより16!倍弱い
○ 系列長を倍にしても情報量が倍にならない
○ ベクトルの次元数を増やす方が効率が良い
今後の課題
● 文字列等の本来やりたかった可変長系列の処理
○ 画像をパッチ分割することで様々な解像度の
画像を処理可能?
● 潜在ベクトルから位置情報を分離したい
○ VAEのような正則化が必要?

Más contenido relacionado

La actualidad más candente

GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
Generative Models(メタサーベイ )
Generative Models(メタサーベイ )Generative Models(メタサーベイ )
Generative Models(メタサーベイ )cvpaper. challenge
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State SpacesDeep Learning JP
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化Yusuke Uchida
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習Masahiro Suzuki
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説tancoro
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用Yoshitaka Ushiku
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選Yusuke Uchida
 
【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative ModelingDeep Learning JP
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential EquationsDeep Learning JP
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門Takuji Tahara
 
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Fumihiko Takahashi
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)cvpaper. challenge
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習Deep Learning JP
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理Taiji Suzuki
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 

La actualidad más candente (20)

GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
Generative Models(メタサーベイ )
Generative Models(メタサーベイ )Generative Models(メタサーベイ )
Generative Models(メタサーベイ )
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 

Similar a Transformerを用いたAutoEncoderの設計と実験

[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送
[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送
[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送Google Cloud Platform - Japan
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:codeKouji Matsui
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Narami Kiyokura
 
音声認識技術の最新状況とあるべき未来
音声認識技術の最新状況とあるべき未来音声認識技術の最新状況とあるべき未来
音声認識技術の最新状況とあるべき未来Akira Hatsune
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」NoriakiAndo
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesSho Shimauchi
 
100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介Akira Hatsune
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~infinite_loop
 
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームEdge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームIoTビジネス共創ラボ
 
TypeScript and Visual Studio Code
TypeScript and Visual Studio Code TypeScript and Visual Studio Code
TypeScript and Visual Studio Code Akira Inoue
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!Jun-ichi Sakamoto
 
Japan Robot Week 2014けいはんなロボットフォーラム
Japan Robot Week 2014けいはんなロボットフォーラムJapan Robot Week 2014けいはんなロボットフォーラム
Japan Robot Week 2014けいはんなロボットフォーラムKomei Sugiura
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on AzureDaiyu Hatakeyama
 
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会Takeshi Ishita
 
An overview of query optimization in relational systems 論文紹介
An overview of query optimization in relational systems 論文紹介An overview of query optimization in relational systems 論文紹介
An overview of query optimization in relational systems 論文紹介Kumazaki Hiroki
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchYasuhiro Murata
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニングMunenori Sugimura
 
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyGood Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyYuya Takeyama
 
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013晃 遠山
 

Similar a Transformerを用いたAutoEncoderの設計と実験 (20)

[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送
[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送
[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:code
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
 
音声認識技術の最新状況とあるべき未来
音声認識技術の最新状況とあるべき未来音声認識技術の最新状況とあるべき未来
音声認識技術の最新状況とあるべき未来
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
 
pgCafeMitaka20090723
pgCafeMitaka20090723pgCafeMitaka20090723
pgCafeMitaka20090723
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFes
 
100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームEdge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
 
TypeScript and Visual Studio Code
TypeScript and Visual Studio Code TypeScript and Visual Studio Code
TypeScript and Visual Studio Code
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
 
Japan Robot Week 2014けいはんなロボットフォーラム
Japan Robot Week 2014けいはんなロボットフォーラムJapan Robot Week 2014けいはんなロボットフォーラム
Japan Robot Week 2014けいはんなロボットフォーラム
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure
 
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会
 
An overview of query optimization in relational systems 論文紹介
An overview of query optimization in relational systems 論文紹介An overview of query optimization in relational systems 論文紹介
An overview of query optimization in relational systems 論文紹介
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearch
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニング
 
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyGood Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX Philosophy
 
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
 

Transformerを用いたAutoEncoderの設計と実験