Submit Search
Upload
機械学習で泣かないためのコード設計
•
344 likes
•
63,253 views
Takahiro Kubo
Follow
機械学習におけるコード設計のベストプラクティスについて
Read less
Read more
Data & Analytics
Report
Share
Report
Share
1 of 30
Download now
Download to read offline
Recommended
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
Takahiro Kubo
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
Deep Learning JP
ドメイン適応の原理と応用
ドメイン適応の原理と応用
Yoshitaka Ushiku
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
Takahiro Kubo
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
Deep Learning JP
Recommended
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
Takahiro Kubo
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
Deep Learning JP
ドメイン適応の原理と応用
ドメイン適応の原理と応用
Yoshitaka Ushiku
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
Takahiro Kubo
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
Deep Learning JP
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Yusuke Uchida
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
Deep Learning JP
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
深層学習の数理
深層学習の数理
Taiji Suzuki
MLOpsはバズワード
MLOpsはバズワード
Tetsutaro Watanabe
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
Shohei Hido
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
Satoshi Hara
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
Keigo Nishida
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
“機械学習の説明”の信頼性
“機械学習の説明”の信頼性
Satoshi Hara
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
Kosuke Shinoda
Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習
Plot Hong
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
Deep Learning JP
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
[DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions
Deep Learning JP
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
Takahiro Kubo
kintone evangelist meetup 2017
kintone evangelist meetup 2017
Takahiro Kubo
More Related Content
What's hot
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Yusuke Uchida
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
Deep Learning JP
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
深層学習の数理
深層学習の数理
Taiji Suzuki
MLOpsはバズワード
MLOpsはバズワード
Tetsutaro Watanabe
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
Shohei Hido
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
Satoshi Hara
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
Keigo Nishida
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
“機械学習の説明”の信頼性
“機械学習の説明”の信頼性
Satoshi Hara
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
Kosuke Shinoda
Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習
Plot Hong
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
Deep Learning JP
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
[DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions
Deep Learning JP
What's hot
(20)
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
深層学習の数理
深層学習の数理
MLOpsはバズワード
MLOpsはバズワード
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
深層生成モデルと世界モデル
深層生成モデルと世界モデル
“機械学習の説明”の信頼性
“機械学習の説明”の信頼性
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
Noisy Labels と戦う深層学習
Noisy Labels と戦う深層学習
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
[DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions
Viewers also liked
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
Takahiro Kubo
kintone evangelist meetup 2017
kintone evangelist meetup 2017
Takahiro Kubo
10分で見る人工知能
10分で見る人工知能
kwp_george
失敗から学ぶデータ分析グループのチームマネジメント変遷 (デブサミ2016) #devsumi
失敗から学ぶデータ分析グループのチームマネジメント変遷 (デブサミ2016) #devsumi
Tokoroten Nakayama
KDD2016勉強会 資料
KDD2016勉強会 資料
Toshihiro Kamishima
「人工知能」をあなたのビジネスで活用するには
「人工知能」をあなたのビジネスで活用するには
Takahiro Kubo
Deep learningの世界に飛び込む前の命綱
Deep learningの世界に飛び込む前の命綱
Junya Kamura
主成分分析 (pca)
主成分分析 (pca)
Ji Wang
サーバーレスの今とこれから
サーバーレスの今とこれから
真吾 吉田
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
sleepy_yoshi
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
shakezo
機械学習の理論と実践
機械学習の理論と実践
Preferred Networks
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
Ryota Kamoshida
Viewers also liked
(13)
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
kintone evangelist meetup 2017
kintone evangelist meetup 2017
10分で見る人工知能
10分で見る人工知能
失敗から学ぶデータ分析グループのチームマネジメント変遷 (デブサミ2016) #devsumi
失敗から学ぶデータ分析グループのチームマネジメント変遷 (デブサミ2016) #devsumi
KDD2016勉強会 資料
KDD2016勉強会 資料
「人工知能」をあなたのビジネスで活用するには
「人工知能」をあなたのビジネスで活用するには
Deep learningの世界に飛び込む前の命綱
Deep learningの世界に飛び込む前の命綱
主成分分析 (pca)
主成分分析 (pca)
サーバーレスの今とこれから
サーバーレスの今とこれから
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
機械学習の理論と実践
機械学習の理論と実践
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
Similar to 機械学習で泣かないためのコード設計
TIS 戦略技術センター AI技術推進室紹介
TIS 戦略技術センター AI技術推進室紹介
Takahiro Kubo
Machine Learning Bootstrap
Machine Learning Bootstrap
Takahiro Kubo
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
Takahiro Kubo
機械学習を用いた会議診断システムの開発
機械学習を用いた会議診断システムの開発
Takahiro Kubo
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
BrainPad Inc.
SIer出身のエンジニアが 機械学習を取り入れた ASPサービス開発で学んだこと
SIer出身のエンジニアが 機械学習を取り入れた ASPサービス開発で学んだこと
yagizo
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習
Preferred Networks
Chainerで知るdeep learning進化の歴史
Chainerで知るdeep learning進化の歴史
Hideto Masuoka
Machine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hub
Junya Kamura
Machine learningbootstrap For Business
Machine learningbootstrap For Business
Takahiro Kubo
みんなのPython勉強会#21 澪標アナリティクス 井原様
みんなのPython勉強会#21 澪標アナリティクス 井原様
Takeshi Akutsu
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
uchan_nos
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
Recruit Technologies
IT勉強会を支えるコミュニケーション
IT勉強会を支えるコミュニケーション
Koji Shiraishi
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
ISAO_Corp
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!デベロッパーネットワーク
ROSの紹介とPepperでの活用例
ROSの紹介とPepperでの活用例
Yuta Koga
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
Takahiro Kubo
Reinforcement Learning Inside Business
Reinforcement Learning Inside Business
Takahiro Kubo
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
AINOW
Similar to 機械学習で泣かないためのコード設計
(20)
TIS 戦略技術センター AI技術推進室紹介
TIS 戦略技術センター AI技術推進室紹介
Machine Learning Bootstrap
Machine Learning Bootstrap
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
機械学習を用いた会議診断システムの開発
機械学習を用いた会議診断システムの開発
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
SIer出身のエンジニアが 機械学習を取り入れた ASPサービス開発で学んだこと
SIer出身のエンジニアが 機械学習を取り入れた ASPサービス開発で学んだこと
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習
Chainerで知るdeep learning進化の歴史
Chainerで知るdeep learning進化の歴史
Machine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hub
Machine learningbootstrap For Business
Machine learningbootstrap For Business
みんなのPython勉強会#21 澪標アナリティクス 井原様
みんなのPython勉強会#21 澪標アナリティクス 井原様
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
IT勉強会を支えるコミュニケーション
IT勉強会を支えるコミュニケーション
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望
ROSの紹介とPepperでの活用例
ROSの紹介とPepperでの活用例
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
Reinforcement Learning Inside Business
Reinforcement Learning Inside Business
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
More from Takahiro Kubo
自然言語処理による企業の気候変動対策分析
自然言語処理による企業の気候変動対策分析
Takahiro Kubo
国際会計基準(IFRS)適用企業の財務評価方法
国際会計基準(IFRS)適用企業の財務評価方法
Takahiro Kubo
自然言語処理で新型コロナウィルスに立ち向かう
自然言語処理で新型コロナウィルスに立ち向かう
Takahiro Kubo
財務・非財務一体型の企業分析に向けて
財務・非財務一体型の企業分析に向けて
Takahiro Kubo
自然言語処理で読み解く金融文書
自然言語処理で読み解く金融文書
Takahiro Kubo
arXivTimes Review: 2019年前半で印象に残った論文を振り返る
arXivTimes Review: 2019年前半で印象に残った論文を振り返る
Takahiro Kubo
ESG評価を支える自然言語処理基盤の構築
ESG評価を支える自然言語処理基盤の構築
Takahiro Kubo
Expressing Visual Relationships via Language: 自然言語による画像編集を目指して
Expressing Visual Relationships via Language: 自然言語による画像編集を目指して
Takahiro Kubo
あるべきESG投資の評価に向けた、自然言語処理の活用
あるべきESG投資の評価に向けた、自然言語処理の活用
Takahiro Kubo
nlpaper.challenge NLP/CV交流勉強会 画像認識 7章
nlpaper.challenge NLP/CV交流勉強会 画像認識 7章
Takahiro Kubo
Curiosity may drives your output routine.
Curiosity may drives your output routine.
Takahiro Kubo
EMNLP2018 Overview
EMNLP2018 Overview
Takahiro Kubo
2018年12月4日までに『呪術廻戦』を読む理由
2018年12月4日までに『呪術廻戦』を読む理由
Takahiro Kubo
Graph Attention Network
Graph Attention Network
Takahiro Kubo
ACL2018の歩き方
ACL2018の歩き方
Takahiro Kubo
TISにおける、研究開発の方針とメソッド 2018
TISにおける、研究開発の方針とメソッド 2018
Takahiro Kubo
感情の出どころを探る、一歩進んだ感情解析
感情の出どころを探る、一歩進んだ感情解析
Takahiro Kubo
機械学習の力を引き出すための依存性管理
機械学習の力を引き出すための依存性管理
Takahiro Kubo
画像認識モデルを自動的に作る。1日以内に。~Simple And Efficient Architecture Search for Convolutio...
画像認識モデルを自動的に作る。1日以内に。~Simple And Efficient Architecture Search for Convolutio...
Takahiro Kubo
技術文書を書く際の、心技体<改訂版>
技術文書を書く際の、心技体<改訂版>
Takahiro Kubo
More from Takahiro Kubo
(20)
自然言語処理による企業の気候変動対策分析
自然言語処理による企業の気候変動対策分析
国際会計基準(IFRS)適用企業の財務評価方法
国際会計基準(IFRS)適用企業の財務評価方法
自然言語処理で新型コロナウィルスに立ち向かう
自然言語処理で新型コロナウィルスに立ち向かう
財務・非財務一体型の企業分析に向けて
財務・非財務一体型の企業分析に向けて
自然言語処理で読み解く金融文書
自然言語処理で読み解く金融文書
arXivTimes Review: 2019年前半で印象に残った論文を振り返る
arXivTimes Review: 2019年前半で印象に残った論文を振り返る
ESG評価を支える自然言語処理基盤の構築
ESG評価を支える自然言語処理基盤の構築
Expressing Visual Relationships via Language: 自然言語による画像編集を目指して
Expressing Visual Relationships via Language: 自然言語による画像編集を目指して
あるべきESG投資の評価に向けた、自然言語処理の活用
あるべきESG投資の評価に向けた、自然言語処理の活用
nlpaper.challenge NLP/CV交流勉強会 画像認識 7章
nlpaper.challenge NLP/CV交流勉強会 画像認識 7章
Curiosity may drives your output routine.
Curiosity may drives your output routine.
EMNLP2018 Overview
EMNLP2018 Overview
2018年12月4日までに『呪術廻戦』を読む理由
2018年12月4日までに『呪術廻戦』を読む理由
Graph Attention Network
Graph Attention Network
ACL2018の歩き方
ACL2018の歩き方
TISにおける、研究開発の方針とメソッド 2018
TISにおける、研究開発の方針とメソッド 2018
感情の出どころを探る、一歩進んだ感情解析
感情の出どころを探る、一歩進んだ感情解析
機械学習の力を引き出すための依存性管理
機械学習の力を引き出すための依存性管理
画像認識モデルを自動的に作る。1日以内に。~Simple And Efficient Architecture Search for Convolutio...
画像認識モデルを自動的に作る。1日以内に。~Simple And Efficient Architecture Search for Convolutio...
技術文書を書く際の、心技体<改訂版>
技術文書を書く際の、心技体<改訂版>
機械学習で泣かないためのコード設計
1.
Copyright © 2016
TIS Inc. All rights reserved. 機械学習で泣かないためのコード設計 戦略技術センター 久保隆宏
2.
2 Agenda • Who are
you • TIS株式会社について • 戦略技術センターについて • 機械学習あるある物語 • 機械学習で泣かないための設計(案) • Model • Trainer • DataProcessor • ModelAPI • Resource • Appendix: API一覧
3.
3 Who are you
4.
4 業務コンサルタント出身。 化学系メーカーへのパッケージ導入や周辺業務システム開発 を手掛ける(ASP.NET VB.NET/C#)。 現在は「人のパートナーとなれるアプリケーション」の研究 開発(Python/機械学習)。 サイボウズ公認kintoneエヴァンジェリスト Qiitaのストック数ランキング 機械学習: 1位 Python:
2位 (8/18時点) icoxfog417 後輩
5.
5 TISとは?
6.
6 会社紹介 TISはTISインテックグループの中核会社となります。 TISインテックグループは多様な得意分野をもつ企業の総体であり、一体感のあるグル ープフォーメーションの下お客様のニーズにお応えします。 TIS INTEC GROUP(59社
19,393名) お客様
7.
7 TISとは?
8.
8 戦略技術センターについて(1/2) ミッション ・中長期(3~10年)的な視点からのサービスのプロトタイプ開発・検証 ・技術プレゼンスの向上(=研究活動の対外発信) サービスのプロトタイプ開発 技術プレゼンスの向上 薬剤師BOT 会議診断AI 観光ルート自動生成 etc・・・ カンファレンスへの 登壇、ハッカソンへ の参加、勉強会の開 催etc・・・
9.
9 戦略技術センターについて(2/2) ロボット 販売員 店頭での呼び込み、 定型的な商品説明を 担当 自動応答と遠隔操作の組み合わせで、接客の分業を実現 遠隔操作による 応対の引き継ぎ ロボットから応対を 引き継ぎ、一人一人 に合った接客を行う ダッシュボード ロボットの接客状況 (顧客数、商品説明へ の反応など)を確認 自動応答の 状況を報告 ・自動応答により、人の接客負荷を低減 ・遠隔操作により、東京にいながら北海道の店舗の応対を行う、と いったことが可能になる+多言語対応が可能な販売員が様々な店舗で 応対するといったことも可能になります。
10.
10 機械学習あるある物語
11.
11 MNISTとかのExampleを動かしてうまく動いているとき →NEXT: 自分のデータで試してみよう!
12.
12 自分で集めたデータでうまく動かなくて戸惑っている時 →NEXT: でもここから本番、がんばるぞい!
13.
13 修正したら繰り出される謎の例外 初期化の方法・学習率・レイヤ数・・・いろいろなパラメーター 精度が出ない・・・データがないせい?モデルが自分のデータに合わないせい? データの前処理→こんにちは線形代数
14.
14 まあ(Example)動いたしな? 中途半端だけどおしまいにする(完)
15.
15 機械学習の難しさ 機械学習は、うまくうごかないときに考えられる理由がたくさんある。 ・データが悪いのか ・そもそものデータが良くない(データの量・データの質) ・前処理に問題がある ・モデルが悪いのか ・バグがある(伝搬が上手くいっていないなど) ・構成が悪い ・(逆に間違っててもそれなりに動くことがあり、混乱を助長する) ・学習方法が悪いのか ・ノードの初期化方法、学習率、学習率低減のタイミングetc→職人芸 ・辛抱が足りない(明日になれば学習が進んでるかも?) モデルや学習方法の書き換えには、機械学習の理論的な理解が必要になる場 面も多い。それぞれのフレームワークのクセにもかなり翻弄される(Example だけでなく、ライブラリ内部のコードを読まないといけないことになること も多い)。
16.
16 ただでさえ難しい+原因の切り分けができない
17.
17 機械学習で泣かないための設計(案)
18.
18 ただでさえ難しい+原因の切り分けができない まずこっちを解決
19.
19 構成 Model DataProcessor Resource ModelAPI Trainer ・Modelは、機械学習モデルの定義を行う ・ModelAPIは、外部に向けて予測機能などのAPIを公開する。 ・Trainerは、Modelの学習を担当する。 ・DataProcessorは、データの読み込みと前処理を担当する ・Resouceは、全体で必要になるパラメーターを管理する
20.
20 構成のポイント(1/2) ・TrainerとDataProcessorの分離 Trainerからデータに関する処理を独立させる。 忘れがちだが、予測を行う際もデータの前処理は必要 になる(例:画像の平均化など)。この処理を Trainerに含めていると、学習以外の処理でもTrainer を呼び出すことになるほか、Trainerはおおむねバッ チでデータを入れるので予測処理(データ一件)と処理 が合わない。 ・パラメーターはResourceで一元管理を行う learning rateを始めとした学習パラメーター、また 学習モデルの保存先、データのロード元など、機械学 習では色々なパラメーターが必要になる。 これらはyamlやjsonといったファイルにまとめて管 理するようにし、その読出しを行う担当として Resourceを置く。 最重要
21.
21 構成のポイント(2/2) ・学習はTrainerが管理し、Modelは関与しない 具体的には、lossやoptimizerの定義をModelに含めな い。これをModel管轄にしてしまうと、予測しかしな いときにもbatch sizeやlearning rateを指定する羽目 になる。これは好ましくない。 ・アプリケーションからModelを隠蔽する 直接Modelを利用すると、ChainerならVariable、 TensorFlowならTensor/Sessionとフレームワーク依 存のコードがアプリケーションに混ざることになり、 実装担当者の負担が大きくなるほかフレームワークの スイッチが難しくなる。 そのため外部公開するAPIはModelとは別個に作成し、 アプリケーションからModel本体を隠蔽する。 ※predictのコードがTrainerとModelAPIで重複するが、 この重複は許容する(思ったよりは違った実装になる) 重要
22.
22 テストの実施 ・モデルのテスト ModelAPIと一体でテストし、入力からきちんと値が出力されることを確認。 ・データ、またデータ前処理のテスト DataProcessorを単独でテストする。可能であれば、baselineとなるモデル (SVMなど)でデータそのものの分類性能を測ったりする。scikit-learnの Feature Selectionを使えばこのあたりのテストを簡単に実装できる。 ・学習のテスト モデル、およびデータ処理のテストがパスすることを確認した後にテストす る(これによりモデルのバグ・データ処理に起因するバグを想定から外せる)。 lossがきちんと下がるかなどを確認する。このあたりでGPUがないと辛抱が 足りない問題が顕在化するので、GPUの使い方(Amazon GPU
Instanceな ど)はしっかりマスターしておく(Terraform/Ansibleはこの助けになる)。 複数パラメーターの設定でいろいろ回すことになるので、この際Resourceと いう形で、どこでどのパラメーターの学習が動いているのかがわかるのはと ても安心できる。
23.
23 ただでさえ難しい+原因の切り分けができない だいぶ解決 これで・・・
24.
24 ただでさえ難しい+原因の切り分けができない ・・・
25.
25 おすすめ 単純なモデルからはじめる(scikit-learnなど) • どのみちDataProcessorのところで必要になる • 最終的にChainerやTensorFlowでやるにしても、ベースラインのモデルは 必要になる •
自分でデータを用意するなら、Deepの恩恵が得られるほど集められないこ とが多い(=使うだけ徒労になる可能性も高い)。 基礎知識はCourseraのMachine Learningをおすすめ(英語という壁はあ るが、現時点出ているどの書籍よりもわ かりやすい+日本語字幕もある)
26.
26 ぜひ new machine learning life!
27.
THANK YOU
28.
28 Appendix: API一覧(1/3) Model • constructor:
モデルに必要な構成要素(隠れ層)などの定義 • forward(inference): constructorで定義した構成要素を利用し、入力を出 力にする(伝搬)プロセスを定義する。 • 学習中とそうでない場合で構成が変わる場合(Dropoutなど)、それを引数 に取る。※ここでlossを出さないこと(出してもいいが、outputもちゃんと 返す) ModelAPI • constructor: 最低限Modelのパスを取得し、読み込む • predict: 配列などの一般的な変数から、Modelを利用した予測値を返す
29.
29 Appendix: API一覧(2/3) Trainer • constructor:
modelと学習に必要なパラメーターを受け取る。 DataProcessorは、この段階か、trainのメソッド内で作成する。 • calc_loss: 最適化の対象となる誤差の計算プロセスを定義する (TensorFlow的にはtrain_op) • set_optimizer(build): calc_lossの最適化プロセスを定義する • train: 学習データ、または作成済みDataProcessorを受け取り、学習の実 行(set_optimizerで作成したoptimizerのupdate)を行う。この過程で、進 捗状況を定期的にreportする。 • report: 学習の進捗状況の出力、また学習モデルの保存などを行う DataProcessor • constructor: データへのパスなど • prepare: データを読み込み、後処理で必要な統計量(平均など)を計算する • format(preprocess): 生のデータを学習・予測用にフォーマットする • batch_iter(feed): batch size/shuffleするかどうかなどを受け取り、要求 に応じたデータを返す。iteratorとして機能する。
30.
30 Appendix: API一覧(3/3) Resource • constructor:
設定ファイルの保存先パスを受け取る • get_xxxx: 設定ファイル内の所定の項目を取得する。※get(“data_path”) というように、文字列でパラメータを受け取らないこと(利用側が環境変数 名を覚えていないといけなくなるので)。 • get_data_root • get_model_path • get_log_folder • などなど • create_trainer/create_dataprocessorという感じで、読み込んだパ ラメーターを元に各インスタンスを生成するメソッドを持たせるとい う手もある。
Download now