SlideShare a Scribd company logo
1 of 56
fastTextの実装を見てみた
2017/02/04 自然言語処理LT会・懇親会@新宿四谷
shirakiya831
Me
白木 義彦(shirakiya831)
アディッシュ株式会社 技術開発部
大阪大学大学院で金属材料工学を学んだ後、
株式会社ガイアックスに入社。
プログラミングを始めて3年目、Webアプリに関わる技術は広く浅く…。
2016/5に機械学習エンジニアを目指して転籍。
最近は専らDjango で APIサーバ書いてたり、React.js書いてたり。
注意
• 今回の発表にあたって、いくつかの論文や記事や実装を見て
自力で理解した内容となりますので、間違いが含まれている可
能性がありますので、予めご了承ください。
• Word2Vec(CBOW/skip-gram)は予め知っているとして話をし
ます。(とはいえそんなにWord2Vecな話は出てきません)
質問等は懇親会でお気軽にどうぞ!
テキスト分類してますか?
https://research.fb.com/fasttext/
@2016/08/18
http://jp.techcrunch.com/2016/08/19/20160818facebooks-artificial-intelligence-
research-lab-releases-open-source-fasttext-on-github/
@2016/08/19
fastText
• https://github.com/facebookresearch/fastText
• Facebook AI Research製ライブラリ
• fastTextが行えること
1. Word Embedding の取得
2. テキスト分類(マルチラベル対応)
• 以下の2つの論文のC++実装
• Enriching Word Vectors with Subword Information
(P. Bojanowski, E. Grave, A. Joulin, T. Mikolov, 2016)
• Bag of Tricks for Efficient Text Classification
(A. Joulin, E. Grave, P. Bojanowski, T. Mikolov, 2016)
fastTextの特徴
• 学習が速い
• 精度が良い
• 利用が簡単
学習が速い
https://research.fb.com/fasttext/ より引用
精度が良い
『Bag of Tricks for Efficient Text Classification』 より引用
利用が簡単
• リポジトリのREADME参考に。めっちゃ簡単。
• ざっくり言うと、
1. リポジトリをclone
2. makeで実行ファイルを得る
3. 自前のtrain用・test用のテキストデータを準備する
4. 学習コマンド叩く
利用が簡単
• リポジトリのREADME参考に。めっちゃ簡単。
• ざっくり言うと、
1. リポジトリをclone
2. makeで実行ファイルを得る
3. 自前のtrain用・test用のテキストデータを準備する
4. 学習コマンド叩く
テキストデータを用意する
1つの入力文書を半角スペースで分割したtokenで構成する必要がある。
クラス「0」: I love apple very much.
クラス「1」: I like orange.
…
__label__0 I love Gundam very much . n
__label__1 I like Doraemon . n
…
data.txt
テキストデータを用意する
1つの入力文書を半角スペースで分割したtokenで構成する必要がある。
※日本語の場合
クラス「0」: 私はリンゴがとても好きです。
クラス「1」: 私はオレンジが好きです。
…
__label__0 私 は リンゴ が とても 好き ですn
__label__1 私 は オレンジ が 好き ですn
…
data.txt
わかち書きして、
token毎に半角スペースで区切る
疑問
疑問
 前述の2つの論文から分類(supervised)でどのようなアルゴリ
ズムで学習が行われているのか、わからなかった…orz
 READMEに書かれているパラメータの役割は?
 特に lrUpdateRate と t が…orz
実装見ればええやん
ということで
実装を見てわかったことを
共有しようと思います。
前提
• 分類(supervised)の方法に限って見ていきました
• fastTextの論文や紹介記事では Hierarchical softmax(階層的ソフト
マックス) が取りあげられてますが、今回は説明しません
• なぜなら Livedoor の記事分類データセットで精度が低くなったため
• なぜならデフォルトの損失関数が Negative Sampling のため
参考: 損失関数の比較
※ 9クラス分類、train:test = 9:1 でランダムに抽出・分割, 同一データセットを使用
Hierarchical Softmax
loss=hs, 以外をデフォルト値で測定
Negative Sampling
loss=ns, 以外をデフォルト値で測定
学習の流れ
学習の流れ(FastText::train)
1.データ準備
2.Vectorの初期化
3.学習
学習の流れ(FastText::train)
1.データ準備
2.Vectorの初期化
3.学習
データの準備
(Dictionary::readFromFile)
• <Dictionary>
• テキストデータの入出力、tokenの保持などを行うクラス
• Dictionary::readFromFile
• 与えられたテキストデータから token を読み取り、単語に単語ID
を突き合わせた 単語辞書 を作成する。
• また token を ngram に分解し、単語辞書 に格納.
I love Gundam very much .
<Gundam>
word2int(単語辞書)
Gu, Gun, Gund, Gunda, ...
Gundam Gu Gun Gund Gunda
学習の流れ(FastText::train)
1.データ準備
2.Vectorの初期化
3.学習
Vectorの初期化
(FastText::train)
input(=Word Vector)と output(出力層)を初期化する
0~1の範囲での離散一様
分布の値で初期化
dim
nwords + bucket 1
dim
<input> <hidden>
学習実行毎に
0で初期化
nlabels
<output>
dim
単語辞書
学習の流れ(FastText::train)
1.データ準備
2.Vectorの初期化
3.学習
学習
(FastText::trainThread)
• スレッド並列で学習は実行される(パラメータ: thread)
• Negative Sampling(後述)でランダムなサンプリングが行える
ように、予めラベルのキーをランダムで十分量生成・保持する
• 以下ループ(入力テキストデータ1行ずつ)
1. テキストデータから<EOS>までの1行分を取り出す
2. FastText::supervised の実行 ← これが学習の本丸、NN計算
3. 今まで学習した token が lrUpdateRate を越えると学習率を更
新
学習
(FastText::supervised)
「word vector を更新する処理」
当たり前だけど…
hiddenの計算処理
dim
1
dim
<input> <hidden>
入力文書: I love Gundam very much .
↓
I / love / gundam / very / much / lov / ove / …
単語IDから列を特定
単語辞書
hiddenの計算処理
dim
1
dim
<input> <hidden>
入力文書: I love Gundam very much .
↓
I / love / gundam / very / much / lov / ove / …
単語辞書
add
hiddenの計算処理
dim
1
dim
<input> <hidden>
入力文書: I love Gundam very much .
↓
I / love / gundam / very / much / lov / ove / …
単語辞書
単語IDから列を特定
hiddenの計算処理
dim
1
dim
<input> <hidden>
単語辞書
入力文書: I love Gundam very much .
↓
I / love / gundam / very / much / lov / ove / …
入力文書のvectorの総和を取
る
add
目標ラベルの score の計算
• 正解であるラベルにおける計算時点の確率
• 本来は1.00になって欲しい値
目標ラベルのscore
目標ラベルの score の計算
1
dim
<hiddenT> <output>
dim
目標ラベル列
目標ラベルの score の計算
1
dim
<hiddenT> <output>
dim
目標ラベル列
内積
目標ラベルの score の計算
score =
Sigmoid( )
前スライドで求めた内積
目標ラベルの score の計算
今までの計算は、
出力層の二値分類の計算式である、
と等価。
score = f(Σwx)
Sigmoid
勾配(重みの更新量)の計算
<output>
dim
目標ラベル列
× α =
<勾配ベクトル>
α = lr × ( 1 – score )
勾配(重みの更新量)の計算
<output>
目標ラベル列
<勾配ベクトル><hidden>
copy
勾配(重みの更新量)の計算
<勾配ベクトル>
目標ラベルにおける
更新量
Negative Sampling
• いくつかの負例(目標ラベルでないラベル)を使って更新量を
求める手法。
• 本来はSoftmaxを使って全ラベルに対して score を計算し、
更新量を求めるが、Word Embeddingを求める場合では単語
の語彙数分だけべき乗計算を行わないといけないため、リソー
スを大きく消費し、学習が遅くなる原因となる。
Negative Sampling
<output>
目標ラベルでないラベル列
× α +=
<勾配ベクトル>
α = lr × ( – score )
Negative Sampling
<output>
目標ラベルでないラベル列
<勾配ベクトル>
copy
<hidden>
Negative Sampling
<output>
目標ラベルでないラベル列
× α +=
<勾配ベクトル>
α = lr × ( – score )
Negative Sampling
<output>
目標ラベルでないラベル列
<勾配ベクトル>
copy
<hidden>
Samplingの数だけ行う
word vector の更新
<勾配ベクトル>
dim
<input>
入力文書: I love Gundam very much .
↓
I / love / gundam / very / much / lov / ove / …
add
単語辞書
word vector の更新
<勾配ベクトル>
dim
<input>
入力文書: I love Gundam very much .
↓
I / love / gundam / very / much / lov / ove / …
add
単語辞書
学習
以上の計算を、
( 全文書数 × epoch ) 回だけ行う
推論
(FastText::predict)
1. 学習済みの word vector をロード
2. 出力層まで学習と同じ計算を行う
3. Softmaxで各ラベルの確率を求める
4. 上位 k 番目のラベルを返して、コンソールに出力
fastTextのテキスト分類モデルは
1層のニューラルネットワークだった!
参考: パラメータ
https://github.com/facebookresearch/fastText、READMEより
参考: パラメータ
!?
https://github.com/facebookresearch/fastText、READMEより
参考: パラメータ
パラメータ 説明
lr
学習率。この値で固定ではなく、学習したtokenが
lrUpdateRate の個数を超える度に、減少する。
lrUpdateRate
学習率の更新を行う token の数。この値を超える度に更新
が行われる。(Rate とか言いながら、実際は割合ではなく
tokenの数なので注意。)
dim word vector の次元数。
ws window size 。supervised ではこの値は使われない。
epoch
いわゆるepoch 。全 token 数に対して何倍の token を使っ
て学習するか。
minCount 学習に用いない token の最低出現回数の閾値。
minCountLabel 学習に用いないラベルの最低出現回数の閾値。
neg Negative Sampling で用いる負例のサンプル数。
wordNgrams 学習に利用する Ngram の文字数。2であればbigramとなる。
参考: パラメータ
パラメータ 説明
loss
損失関数の種類の指定。
• ns: Negative Sampling
• hs: Hierarchical Softmax
• softmax: Softmax
bucket
分解したNgramの格納可能数(メモリと相談して決めるらし
い。
https://github.com/facebookresearch/fastText/issues/24
minn Ngramの最小文字数。
maxn Ngramの最大文字数。
thread 学習の並列処理数。(CPUと相談して決める)
t
学習時にtokenをDropする確率に影響する値。
この数字が小さければ小さいほど、Dropされやすくなる。
verbose
0, 1, 2 から選択。値が大きいほど詳細な情報がコンソール
に出力される。
pretrainedVector
word vectorの初期値。具体的には input の初期値となる。
まとめ
• Facebookが書いた実装の流れと少し詳しくみて
いくと、意味が全くわからないというものでもな
かった。
• 案外愚直に実装してる様子も見れて新鮮
• パラメータの意味まとめた

More Related Content

What's hot

統計的係り受け解析入門
統計的係り受け解析入門統計的係り受け解析入門
統計的係り受け解析入門
Yuya Unno
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
 

What's hot (20)

統計的係り受け解析入門
統計的係り受け解析入門統計的係り受け解析入門
統計的係り受け解析入門
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
 
【メタサーベイ】Transformerから基盤モデルまでの流れ / From Transformer to Foundation Models
【メタサーベイ】Transformerから基盤モデルまでの流れ / From Transformer to Foundation Models【メタサーベイ】Transformerから基盤モデルまでの流れ / From Transformer to Foundation Models
【メタサーベイ】Transformerから基盤モデルまでの流れ / From Transformer to Foundation Models
 
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
Vision and Language(メタサーベイ )
Vision and Language(メタサーベイ )Vision and Language(メタサーベイ )
Vision and Language(メタサーベイ )
 
(第3版)「知能の構成的解明の研究動向と今後の展望」についての個人的見解:Chain of thought promptingやpostdictionを中...
(第3版)「知能の構成的解明の研究動向と今後の展望」についての個人的見解:Chain of thought promptingやpostdictionを中...(第3版)「知能の構成的解明の研究動向と今後の展望」についての個人的見解:Chain of thought promptingやpostdictionを中...
(第3版)「知能の構成的解明の研究動向と今後の展望」についての個人的見解:Chain of thought promptingやpostdictionを中...
 
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」
 
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 

Viewers also liked

Viewers also liked (9)

AINOW活用事例(という名のゴマすり)
AINOW活用事例(という名のゴマすり)AINOW活用事例(という名のゴマすり)
AINOW活用事例(という名のゴマすり)
 
ツイートの取得と解析の間
ツイートの取得と解析の間ツイートの取得と解析の間
ツイートの取得と解析の間
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させる
 
全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
Convolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をするConvolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をする
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 
強化学習@PyData.Tokyo
強化学習@PyData.Tokyo強化学習@PyData.Tokyo
強化学習@PyData.Tokyo
 

Similar to fastTextの実装を見てみた

Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
Takafumi Inamori
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Atsushi Kambara
 

Similar to fastTextの実装を見てみた (20)

Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
 
[豆ナイト]Java small object programming
[豆ナイト]Java small object programming[豆ナイト]Java small object programming
[豆ナイト]Java small object programming
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
Goコンパイラのきもち
GoコンパイラのきもちGoコンパイラのきもち
Goコンパイラのきもち
 
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
 
こんな辛いテストはいやだ
こんな辛いテストはいやだ こんな辛いテストはいやだ
こんな辛いテストはいやだ
 
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
 
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
 
Htmlコーディングの効率化 前編
Htmlコーディングの効率化 前編Htmlコーディングの効率化 前編
Htmlコーディングの効率化 前編
 
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
 
JSX 速さの秘密 - 高速なJavaScriptを書く方法
JSX 速さの秘密 - 高速なJavaScriptを書く方法JSX 速さの秘密 - 高速なJavaScriptを書く方法
JSX 速さの秘密 - 高速なJavaScriptを書く方法
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
 
20221226_TITECH_lecture_ishizaki_public.pdf
20221226_TITECH_lecture_ishizaki_public.pdf20221226_TITECH_lecture_ishizaki_public.pdf
20221226_TITECH_lecture_ishizaki_public.pdf
 
最速C# 7.x
最速C# 7.x最速C# 7.x
最速C# 7.x
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
 
【Saitama.js】Denoのすすめ
【Saitama.js】Denoのすすめ【Saitama.js】Denoのすすめ
【Saitama.js】Denoのすすめ
 
つぶLT20121215
つぶLT20121215つぶLT20121215
つぶLT20121215
 

Recently uploaded

Recently uploaded (12)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

fastTextの実装を見てみた

Editor's Notes

  1. 全てテキスト分類タスク。ニューラルネットワークモデルの中でRNN系モデルよりも速いとされるCNNベースの手法と比べてもケタ違いに学習が速いことがわかる。 char-CNN: Lecunのやつ。一文字一文字を分解してCNNでテキスト分類する、というモデル VDCNN: これもLecun製のモデル。テキストを深い層のCNNで分類するモデル