SlideShare a Scribd company logo
1 of 31
Download to read offline
10年ぶりの
ニューラルネットワーク
東京エリア・関西合同Debian勉強会
2020/7/18
野首貴嗣
knok@debian.org
発表者について
● 野首貴嗣 (NOKUBI Takatsugu)
○ knok@debian.org
○ OpenPGP id: 99452B4DD28BEEAC8AB5C931B06662EC9C0C1404
■ https://db.debian.org/fetchkey.cgi?fingerprint=99452B4DD28BEEAC8AB5C931B06662EC9C0C1404
○ 学生時代(1995)にニューラルネットを研究室の輪講でやっていた
■ https://twitter.com/knok/status/860501450417360896
■ 第二次人工知能ブーム
● ニューロ&ファジー
2010年3月の勉強会
● 第62回東京エリアDebian勉強会、2010年3月勉強会
○ https://tokyodebian-team.pages.debian.net/2010-03.html
○ 本庄弘典さんによる発表
■ ニューラルネットワークで画像認識してみた
■ https://tokyodebian-team.pages.debian.net/pdf2010/debianmeetingresume201003.pdf
● あれから10年
○ 変化を振り返る
■ 俯瞰的な視点から
○ 個人的な成果をいくつか紹介
● この資料
○ https://bit.ly/2OOcLxH
ニューラルネットのお気持ち
● パーセプトロンを組み合わせる
○ 重みとバイアス
■ 入力と期待する出力とが近づくように重み、バイアスを修正
● 逆誤差伝播
● https://www.sist.ac.jp/~kanakubo/research/neuro.html
○ 複数・多段にすることで柔軟な分離ができる
■ 例: AND/OR, XOR
● XORは1ユニットでは実現できない
■ AND/OR(NAND)ができるならなんでもできるのでは
ブレイクスルー
● 2012年
○ Using large-scale brain simulations for machine learning and A.I. (Google)
■ http://static.googleusercontent.com/media/research.google.com/ja//archive/unsupervised_icml2012.pdf
■ 教師なしで人や猫の特徴を学習した
● いわゆるAutoEncoder
● 16コアを持つマシン169台で学習
画像はブログより
AutoEncoder
● 入力を復元するネットワーク
○ 中間層で次元圧縮された特徴表現が得られる
■ DNNの大半は表現の「低次元ベクトル化」
○ 他の手法
■ 行列の低ランク近似
● 特異値分解 (Singular Value Decomposition: SVD)に基づく
○ cf. 単語分散表現
■ word2vec
● ニューラルネットを利用している
入力画像
出力画像
(再構築)
中間層
ブレイクスルー実現要素(1)
● 計算資源
○ 計算能力の向上
■ 1995:PA-RISC (hp-pa9) 25MHz
● メモリ16MB
■ SIMD命令の充実
■ メモリ量の増大
○ GPGPU
■ 行列演算と相性が良い
● 近年のスパコンもGPUを装備
■ AMD/NVIDIAの競争
■ cuda, cuDNN (NVIDIA)
● NVIDIAの優位性は依然としてある
ブレイクスルー実現要素(2)
● 大規模データセット
○ ImageNet, CIFAR-10, MNIST
○ Google photos, Facebook album等のプラットフォーム
○ MS COCO
○ OpenImages
○ Wikipedia
○ CommonCrawl
● クラウドソーシングフレームワーク
○ Amazon Mechanical Turk
○ Cloudworks
■ アノテーションを依頼できる
ブレイクスルー実現要素(3)
● 課題解決技術
○ 勾配消失/発散問題
■ アクティベーション関数の改善
● ReLU等のramp function
■ 最適化手法の改善
● クリッピング
● Momentumな手法
● RMSProp, AdaGrad, ADAMとその後継
■ 正規化手法の躍進
● Batch Noramlization
● 分散表現(埋め込み表現)の活用
○ いろんなものが数百次元のベクトルとして表現できるように
○ https://www.slideshare.net/naoakiokazaki/20150530-jsai2015
ブレイクスルー実現要素(4)
● データ拡張技術
○ 画像処理方面が顕著
■ アフィン変換、ノイズ付与などやりやすい手法が多い
■ 自然言語処理はちょっと難しい
● 辞書ベースなど
● ラベルを必要としない学習
○ word2vec, GloVe等
○ 一部をマスク、入れ替え等
■ そこからただしいものを再構築できるよう学習させる
● 表現学習 (representation learning)
● 敵対的生成ネットワーク (GAN)
○ 本物と生成されたものの区別をつける /欺く
環境面
● データサイエンティストブーム
○ 2000年代 - 統計的手法
■ 多変量解析
■ トピックモデル
■ Support Vector Machine (SVM)
○ 2010年代 - 深層学習
■ MOOCsの充実
● Andrew Ng先生の無料講座(日本語字幕あり)
○ 今でも有用なコンテンツ
■ コンペティションの隆盛
● Kaggle, SIGNATE等
● 実行環境の充実
○ Google Colaboratory (無料でGPU/TPUが利用可能, 時間制限あり)
もたらされた変化(1)
● 人を超える精度/能力
○ 画像認識
○ 機械読解
○ AlphaGo等
● 生成モデル
○ 有名どころ: DeepFake, GPT-2, 3
○ 画像復元(inpainting)
○ 人間の創作活動のアシスト
■ 画像カラー化
■ 自動着色 petalica paint
■ GauGAN
○ 自然な音声合成
○ 音楽生成 Magenta等
■ Infinite death metal
スライド 画像認識と深層学習 より
もたらされた変化(2)
● 流ちょうな自然言語生成
○ 機械翻訳・文章生成
■ フェイクニュース生成の危惧がなされた
● 識別モデルも提供
● 単語・品詞を意識しなくてもなんとかなる
○ SentencePiece
■ 語彙爆発の苦肉の策
■ End-to-End学習のおかげで品詞情報がなくても処理できる
● 低位層に品詞に相当する情報を暗に学習しているらしい
○ Unicodeバイトレベルの分解
■ カバーできる言語が広がる
■ ただしくないバイト列を生成する問題もある
● https://transformer.huggingface.co/doc/gpt2-large
新たな課題(1)
● 翻訳ミス
○ 訳抜け
■ 統計ベースの機械翻訳と違い対応付けが不明瞭
■ 流ちょうなので見逃しやすい
○ 逆の意味の訳文を出してしまう
■ 反対語は全体的にみると出現のしやすさが近い
○ 同じ文言を繰り返し生成
■ たまに発生
● https://www.slideshare.net/ToshiakiNakazawa/nlp2017-nmt-tutorial/79
● Google翻訳, DeepLでも散見
● 消費電力増大
○ 訓練をCPUでがんばるアプローチ
■ https://github.com/keroro824/HashingDeepLearning
新たな課題(2)
● データセットとバイアス
○ 実世界のデータにはバイアスがある
○ 考慮なしに利用すると機械学習モデルにもバイアスが反映
○ 公平性(fairness)の担保が課題
● セキュリティ
○ 敵対的サンプル
■ 人の目には自然だが識別モデルは間違う画像 /文章
● https://speakerdeck.com/settenqb/ji-jie-xue-xi-tosekiyuritei
● https://twitter.com/Bleu_kakeru727/status/937680760491753473
○ モデル剽窃
○ データセットへの毒入れ (バックドア)
■ クラウドワーカーの信頼性
フレームワーク開発
● 古参 (deb有り)
○ Torch7
○ Caffe
○ Theano
● 新しいもの (いくつかはdeb有り) - Pythonが主流に
○ Chainer (2015~, 現在はメンテナンスモード )
■ cupy, ChainerX
■ PyTorch
○ TensorFlow (2015~)
○ Keras
○ Darknet
(個人的に仕事として始めたのも 2015)
関係の強そうなDebian内チーム
● Blends
○ debian-science
■ さらに細かいメタパッケージ多数
○ debian-med
■ https://salsa.debian.org/med-team/
■ COVID-19ハッカソンを実施
● deeplearning team
○ https://salsa.debian.org/deeplearning-team
Web/JavaScriptのランタイム
● WebDNN
○ https://mil-tokyo.github.io/webdnn/ja/
■ 日本発
● WebAssenbly, WebGL等に対応
■ 現在開発はinactive
● 対応フレームワークのバージョンが古い
● TensorFlow.js
○ https://www.tensorflow.org/js
■ 訓練もサポート
■ 多くの訓練済みモデルを配布
● https://github.com/tensorflow/tfjs-models
● ONNX.js
○ https://github.com/microsoft/onnxjs
API利用者観点
● TensorFlowは特に利用が簡単
○ 事前訓練済みモデルを配布
■ tensorflow-hub
■ tfjs-models
○ well-documented
■ 日本語翻訳も充実しつつある
○ 入力(連続値、画像等)に対して出力を得られる
■ 分類モデル: 分類結果(ラベル)
■ 物体検知: Boundary boxとラベル
■ 回帰モデル: 予測値等
● 自然言語処理
○ HuggingFace Transformers
○ AllenNLP (研究者向け寄り)
個人的に作ったものの紹介
WebDNNで作ったもの
● edges2cats (pix2pix, chainer)
○ http://pix2pix.daio.net/
○ ソース: https://github.com/knok/chainer-pix2pix
● Wasserstein AutoEncoder (chainer)
○ ht//wae-friends.daio.net
○ ソース: https://github.com/knok/chainer-wae
● データセット収集と訓練から再現可能
TensorFlow.jsを使ったもの
● バーチャル背景 (virtbg)
○ https://knok.github.io/virtbg/
○ ソース: https://github.com/knok/virtbg
■ 訓練済みのBodyPixモデルを使用
■ https://github.com/tensorflow/tfjs-models/tree/master/body-pix
● VRM Three.js PoseNet Sample
○ https://knok.github.io/vrm-three-posenet/
■ ソース: https://github.com/knok/vrm-three-posenet
● https://github.com/t-takasaka/vrm-three-posenet のfork
● 最近のtfjs-modelsにAPIを合わせた
● 再配布可能なモデルに差し替え
● 訓練済みのPoseNetモデルを使用
○ https://github.com/tensorflow/tfjs-models/tree/master/posenet
Google colaboratoryを使ったもの
● StyleGan
○ https://colab.research.google.com/drive/1PhO9IUbqGPeJhubNj0YVAlRXsOYEA1Xr
○ disentangle
● HuggingFace ALBERT regression
○ https://colab.research.google.com/drive/1XXmqh_uwV-BCh3FPl4OqDPhMlHRalDKL
○ BERT亜種による回帰
データセット
● pixbay-cat-images
○ https://github.com/knok/pixabay-cat-images
○ Pixbayの猫画像リンク
■ edges2catsのデータセットに利用
● instagram-food-images
○ https://github.com/knok/instagram-food-images
○ Instagramから餃子、ハンバーガー、ホットドッグ、サンドウィッチ、シュウマイを収集
● make-meidai-dialogue
○ https://github.com/knok/make-meidai-dialogue
○ 日本語自然会話書き起こしコーパス(旧名大会話コーパス)の変換スクリプト
● データ本体は別のライセンスであることが多い
tfjs-modelsの残念な点
● 訓練用コードが公開されていない
● 訓練データも公開されていない
○ 策定中のDeepLearning Policyに適合しない可能性大
■ https://lists.debian.org/debian-science/2019/06/msg00000.html
■ https://salsa.debian.org/deeplearning-team/ml-policy
■ 再現性を求める方向で進んでいる
● TensorFlow.js以外での動作を想定していない
○ 一応変換ツールはある
■ https://github.com/patlevin/tfjs-to-tf
他にできそうなこと(1)
● ハンドトラッキング
○ Leap Motion/Kinectの代替
■ deepな手法である必要性はない
● VTuberアプリ
○ VRM+PoseNetで既にある程度いけそう
■ BodyPixは顔パーツ認識も可能
● 表情への反映もできる
● FaceMesh
■ 先行実装: FaceVTuber ref: https://vrm.dev/vrm_applications/
○ 声質変換?
■ Yukariライブラリ
● https://qiita.com/atticatticattic/items/37441f3be6916cd1e73a
■ 速度に課題
● GPU必須
他にできそうなこと(2)
● 自然言語処理
○ ブラウザと Tensorflow.js を使った BERT の活用方法を考える (Google blog)
■ https://developers-jp.googleblog.com/2020/04/tensorflowjs-bert.html
■ https://github.com/tensorflow/tfjs-models/tree/master/qna
● MobileBERTを用いたQ&A
● 現状日本語は使えない
○ 日本語のQ&Aで訓練していない
■ SQuAD 1.1に基づく(らしい)
■ https://www.slideshare.net/ShionHonda/bertmobileberttensorflowjs
○ 語彙自体は含まれている
○ 訓練データを用意し、 fine tuningすれば使えるはず
■ TensorFlow Liteモデルもある
■ 簡単な分類ぐらいなら割とすぐできそう
速度面の課題
● 画像は補完技術が充実
○ 音声、自然言語への適用は困難
○ 生成に必要なデータが巨大、計算量も多い
■ GPUでリアルタイムにできるようになってきた
● WaveNet(2016)では1秒の音声生成に1分程度かかっていた
● 量子化
○ 浮動小数点計算を整数やバイナリで近似する技術
■ すべての演算を置き換えることが常に可能とは限らない
○ tfjs-modelsは多くをサポート
■ 精度を犠牲にしていることに留意
● DNNモデルの推論はシングルコア駆動(多分)
○ TensorFlowネイティブランタイムならマルチコア駆動
コンピューティングのトレンド
● 歴史は繰り返す
○ 中央集権型 vs 分散型
■ 「ダウンサイジング」
● Thin Clinet
■ エッジAI
● DNNモデルを軽量化
● 組み込み機器で動作させる
● cf. AIスピーカー
○ 処理の大半はクラウド側
○ 温故知新
■ LSTM, CNNも20世紀に考案されたもの
○ 次のトレンドは?
■ ニューラルネットのように昔のトレンドが復活する可能性
まとめ
● 10年でディープニューラルネットワークが飛躍的な進化
○ 計算資源とデータセット
○ 第三次AIブーム
■ そろそろ終焉?
● 使うだけならお手軽
○ 多くのフレームワークと訓練済みモデル
○ ブラウザでも動作
■ Webカムとの組み合わせ
● DFSG的にはどうか?
○ 再配布不可・商用利用不可のデータセット、訓練済みモデルも多い
■ 研究目的のみ可というものも多い
○ 個人的には再現可能なレベルを心がけている
■ 元データのライセンスに課題
NN以外のトピック
● 統計ベース
○ ベイジアンフィルター
■ A Plan For Spam (by Paul Graham, 2002)
● bogofilter, spamassassin等
● Support Vector Machine (SVM)
● 決定木(Decision Tree)ベース
○ XGBoost
○ LightGBM
○ CatBoost

More Related Content

What's hot

OSC2017Hokkaido
OSC2017HokkaidoOSC2017Hokkaido
OSC2017Hokkaidoslankdev
 
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料slankdev
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016 slankdev
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3mganeko
 
LibPGEN 1st Step Guide
LibPGEN 1st Step GuideLibPGEN 1st Step Guide
LibPGEN 1st Step Guideslankdev
 
圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題Hiroshi Miura
 
OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT slankdev
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料slankdev
 

What's hot (9)

OSC2017Hokkaido
OSC2017HokkaidoOSC2017Hokkaido
OSC2017Hokkaido
 
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
LibPGEN 1st Step Guide
LibPGEN 1st Step GuideLibPGEN 1st Step Guide
LibPGEN 1st Step Guide
 
圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題
 
OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
 

Similar to 10年ぶりの ニューラルネットワーク

今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo LinuxについてTakuto Matsuu
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStackAkihiro Motoki
 
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法samemoon
 
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜Akira Nakagawa
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528Atomu Hidaka
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版Kamon Nobuchika
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxKouhei Maeda
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較Ryota Suzuki
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6信之 岩永
 
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたクラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたShinji Enoki
 
DockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPDockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPGo Chiba
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座Masahito Zembutsu
 

Similar to 10年ぶりの ニューラルネットワーク (20)

今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack
 
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
 
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6
 
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたクラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
 
DockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPDockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JP
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TripleO Deep Dive 1.1
TripleO Deep Dive 1.1TripleO Deep Dive 1.1
TripleO Deep Dive 1.1
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
 
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
 

More from Takatsugu Nokubi

Language toolを使ってみる
Language toolを使ってみるLanguage toolを使ってみる
Language toolを使ってみるTakatsugu Nokubi
 
自由ソフトウェアによるライブストリーミング
自由ソフトウェアによるライブストリーミング自由ソフトウェアによるライブストリーミング
自由ソフトウェアによるライブストリーミングTakatsugu Nokubi
 

More from Takatsugu Nokubi (6)

AIと金融
AIと金融AIと金融
AIと金融
 
Text gen-and-gpt2
Text gen-and-gpt2Text gen-and-gpt2
Text gen-and-gpt2
 
qemu-debootstrap
qemu-debootstrapqemu-debootstrap
qemu-debootstrap
 
Language toolを使ってみる
Language toolを使ってみるLanguage toolを使ってみる
Language toolを使ってみる
 
自由ソフトウェアによるライブストリーミング
自由ソフトウェアによるライブストリーミング自由ソフトウェアによるライブストリーミング
自由ソフトウェアによるライブストリーミング
 
自由なデータ
自由なデータ自由なデータ
自由なデータ
 

Recently uploaded

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (9)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

10年ぶりの ニューラルネットワーク

  • 2. 発表者について ● 野首貴嗣 (NOKUBI Takatsugu) ○ knok@debian.org ○ OpenPGP id: 99452B4DD28BEEAC8AB5C931B06662EC9C0C1404 ■ https://db.debian.org/fetchkey.cgi?fingerprint=99452B4DD28BEEAC8AB5C931B06662EC9C0C1404 ○ 学生時代(1995)にニューラルネットを研究室の輪講でやっていた ■ https://twitter.com/knok/status/860501450417360896 ■ 第二次人工知能ブーム ● ニューロ&ファジー
  • 3. 2010年3月の勉強会 ● 第62回東京エリアDebian勉強会、2010年3月勉強会 ○ https://tokyodebian-team.pages.debian.net/2010-03.html ○ 本庄弘典さんによる発表 ■ ニューラルネットワークで画像認識してみた ■ https://tokyodebian-team.pages.debian.net/pdf2010/debianmeetingresume201003.pdf ● あれから10年 ○ 変化を振り返る ■ 俯瞰的な視点から ○ 個人的な成果をいくつか紹介 ● この資料 ○ https://bit.ly/2OOcLxH
  • 4. ニューラルネットのお気持ち ● パーセプトロンを組み合わせる ○ 重みとバイアス ■ 入力と期待する出力とが近づくように重み、バイアスを修正 ● 逆誤差伝播 ● https://www.sist.ac.jp/~kanakubo/research/neuro.html ○ 複数・多段にすることで柔軟な分離ができる ■ 例: AND/OR, XOR ● XORは1ユニットでは実現できない ■ AND/OR(NAND)ができるならなんでもできるのでは
  • 5. ブレイクスルー ● 2012年 ○ Using large-scale brain simulations for machine learning and A.I. (Google) ■ http://static.googleusercontent.com/media/research.google.com/ja//archive/unsupervised_icml2012.pdf ■ 教師なしで人や猫の特徴を学習した ● いわゆるAutoEncoder ● 16コアを持つマシン169台で学習 画像はブログより
  • 6. AutoEncoder ● 入力を復元するネットワーク ○ 中間層で次元圧縮された特徴表現が得られる ■ DNNの大半は表現の「低次元ベクトル化」 ○ 他の手法 ■ 行列の低ランク近似 ● 特異値分解 (Singular Value Decomposition: SVD)に基づく ○ cf. 単語分散表現 ■ word2vec ● ニューラルネットを利用している 入力画像 出力画像 (再構築) 中間層
  • 7. ブレイクスルー実現要素(1) ● 計算資源 ○ 計算能力の向上 ■ 1995:PA-RISC (hp-pa9) 25MHz ● メモリ16MB ■ SIMD命令の充実 ■ メモリ量の増大 ○ GPGPU ■ 行列演算と相性が良い ● 近年のスパコンもGPUを装備 ■ AMD/NVIDIAの競争 ■ cuda, cuDNN (NVIDIA) ● NVIDIAの優位性は依然としてある
  • 8. ブレイクスルー実現要素(2) ● 大規模データセット ○ ImageNet, CIFAR-10, MNIST ○ Google photos, Facebook album等のプラットフォーム ○ MS COCO ○ OpenImages ○ Wikipedia ○ CommonCrawl ● クラウドソーシングフレームワーク ○ Amazon Mechanical Turk ○ Cloudworks ■ アノテーションを依頼できる
  • 9. ブレイクスルー実現要素(3) ● 課題解決技術 ○ 勾配消失/発散問題 ■ アクティベーション関数の改善 ● ReLU等のramp function ■ 最適化手法の改善 ● クリッピング ● Momentumな手法 ● RMSProp, AdaGrad, ADAMとその後継 ■ 正規化手法の躍進 ● Batch Noramlization ● 分散表現(埋め込み表現)の活用 ○ いろんなものが数百次元のベクトルとして表現できるように ○ https://www.slideshare.net/naoakiokazaki/20150530-jsai2015
  • 10. ブレイクスルー実現要素(4) ● データ拡張技術 ○ 画像処理方面が顕著 ■ アフィン変換、ノイズ付与などやりやすい手法が多い ■ 自然言語処理はちょっと難しい ● 辞書ベースなど ● ラベルを必要としない学習 ○ word2vec, GloVe等 ○ 一部をマスク、入れ替え等 ■ そこからただしいものを再構築できるよう学習させる ● 表現学習 (representation learning) ● 敵対的生成ネットワーク (GAN) ○ 本物と生成されたものの区別をつける /欺く
  • 11. 環境面 ● データサイエンティストブーム ○ 2000年代 - 統計的手法 ■ 多変量解析 ■ トピックモデル ■ Support Vector Machine (SVM) ○ 2010年代 - 深層学習 ■ MOOCsの充実 ● Andrew Ng先生の無料講座(日本語字幕あり) ○ 今でも有用なコンテンツ ■ コンペティションの隆盛 ● Kaggle, SIGNATE等 ● 実行環境の充実 ○ Google Colaboratory (無料でGPU/TPUが利用可能, 時間制限あり)
  • 12. もたらされた変化(1) ● 人を超える精度/能力 ○ 画像認識 ○ 機械読解 ○ AlphaGo等 ● 生成モデル ○ 有名どころ: DeepFake, GPT-2, 3 ○ 画像復元(inpainting) ○ 人間の創作活動のアシスト ■ 画像カラー化 ■ 自動着色 petalica paint ■ GauGAN ○ 自然な音声合成 ○ 音楽生成 Magenta等 ■ Infinite death metal スライド 画像認識と深層学習 より
  • 13. もたらされた変化(2) ● 流ちょうな自然言語生成 ○ 機械翻訳・文章生成 ■ フェイクニュース生成の危惧がなされた ● 識別モデルも提供 ● 単語・品詞を意識しなくてもなんとかなる ○ SentencePiece ■ 語彙爆発の苦肉の策 ■ End-to-End学習のおかげで品詞情報がなくても処理できる ● 低位層に品詞に相当する情報を暗に学習しているらしい ○ Unicodeバイトレベルの分解 ■ カバーできる言語が広がる ■ ただしくないバイト列を生成する問題もある ● https://transformer.huggingface.co/doc/gpt2-large
  • 14. 新たな課題(1) ● 翻訳ミス ○ 訳抜け ■ 統計ベースの機械翻訳と違い対応付けが不明瞭 ■ 流ちょうなので見逃しやすい ○ 逆の意味の訳文を出してしまう ■ 反対語は全体的にみると出現のしやすさが近い ○ 同じ文言を繰り返し生成 ■ たまに発生 ● https://www.slideshare.net/ToshiakiNakazawa/nlp2017-nmt-tutorial/79 ● Google翻訳, DeepLでも散見 ● 消費電力増大 ○ 訓練をCPUでがんばるアプローチ ■ https://github.com/keroro824/HashingDeepLearning
  • 15. 新たな課題(2) ● データセットとバイアス ○ 実世界のデータにはバイアスがある ○ 考慮なしに利用すると機械学習モデルにもバイアスが反映 ○ 公平性(fairness)の担保が課題 ● セキュリティ ○ 敵対的サンプル ■ 人の目には自然だが識別モデルは間違う画像 /文章 ● https://speakerdeck.com/settenqb/ji-jie-xue-xi-tosekiyuritei ● https://twitter.com/Bleu_kakeru727/status/937680760491753473 ○ モデル剽窃 ○ データセットへの毒入れ (バックドア) ■ クラウドワーカーの信頼性
  • 16. フレームワーク開発 ● 古参 (deb有り) ○ Torch7 ○ Caffe ○ Theano ● 新しいもの (いくつかはdeb有り) - Pythonが主流に ○ Chainer (2015~, 現在はメンテナンスモード ) ■ cupy, ChainerX ■ PyTorch ○ TensorFlow (2015~) ○ Keras ○ Darknet (個人的に仕事として始めたのも 2015)
  • 17. 関係の強そうなDebian内チーム ● Blends ○ debian-science ■ さらに細かいメタパッケージ多数 ○ debian-med ■ https://salsa.debian.org/med-team/ ■ COVID-19ハッカソンを実施 ● deeplearning team ○ https://salsa.debian.org/deeplearning-team
  • 18. Web/JavaScriptのランタイム ● WebDNN ○ https://mil-tokyo.github.io/webdnn/ja/ ■ 日本発 ● WebAssenbly, WebGL等に対応 ■ 現在開発はinactive ● 対応フレームワークのバージョンが古い ● TensorFlow.js ○ https://www.tensorflow.org/js ■ 訓練もサポート ■ 多くの訓練済みモデルを配布 ● https://github.com/tensorflow/tfjs-models ● ONNX.js ○ https://github.com/microsoft/onnxjs
  • 19. API利用者観点 ● TensorFlowは特に利用が簡単 ○ 事前訓練済みモデルを配布 ■ tensorflow-hub ■ tfjs-models ○ well-documented ■ 日本語翻訳も充実しつつある ○ 入力(連続値、画像等)に対して出力を得られる ■ 分類モデル: 分類結果(ラベル) ■ 物体検知: Boundary boxとラベル ■ 回帰モデル: 予測値等 ● 自然言語処理 ○ HuggingFace Transformers ○ AllenNLP (研究者向け寄り)
  • 21. WebDNNで作ったもの ● edges2cats (pix2pix, chainer) ○ http://pix2pix.daio.net/ ○ ソース: https://github.com/knok/chainer-pix2pix ● Wasserstein AutoEncoder (chainer) ○ ht//wae-friends.daio.net ○ ソース: https://github.com/knok/chainer-wae ● データセット収集と訓練から再現可能
  • 22. TensorFlow.jsを使ったもの ● バーチャル背景 (virtbg) ○ https://knok.github.io/virtbg/ ○ ソース: https://github.com/knok/virtbg ■ 訓練済みのBodyPixモデルを使用 ■ https://github.com/tensorflow/tfjs-models/tree/master/body-pix ● VRM Three.js PoseNet Sample ○ https://knok.github.io/vrm-three-posenet/ ■ ソース: https://github.com/knok/vrm-three-posenet ● https://github.com/t-takasaka/vrm-three-posenet のfork ● 最近のtfjs-modelsにAPIを合わせた ● 再配布可能なモデルに差し替え ● 訓練済みのPoseNetモデルを使用 ○ https://github.com/tensorflow/tfjs-models/tree/master/posenet
  • 23. Google colaboratoryを使ったもの ● StyleGan ○ https://colab.research.google.com/drive/1PhO9IUbqGPeJhubNj0YVAlRXsOYEA1Xr ○ disentangle ● HuggingFace ALBERT regression ○ https://colab.research.google.com/drive/1XXmqh_uwV-BCh3FPl4OqDPhMlHRalDKL ○ BERT亜種による回帰
  • 24. データセット ● pixbay-cat-images ○ https://github.com/knok/pixabay-cat-images ○ Pixbayの猫画像リンク ■ edges2catsのデータセットに利用 ● instagram-food-images ○ https://github.com/knok/instagram-food-images ○ Instagramから餃子、ハンバーガー、ホットドッグ、サンドウィッチ、シュウマイを収集 ● make-meidai-dialogue ○ https://github.com/knok/make-meidai-dialogue ○ 日本語自然会話書き起こしコーパス(旧名大会話コーパス)の変換スクリプト ● データ本体は別のライセンスであることが多い
  • 25. tfjs-modelsの残念な点 ● 訓練用コードが公開されていない ● 訓練データも公開されていない ○ 策定中のDeepLearning Policyに適合しない可能性大 ■ https://lists.debian.org/debian-science/2019/06/msg00000.html ■ https://salsa.debian.org/deeplearning-team/ml-policy ■ 再現性を求める方向で進んでいる ● TensorFlow.js以外での動作を想定していない ○ 一応変換ツールはある ■ https://github.com/patlevin/tfjs-to-tf
  • 26. 他にできそうなこと(1) ● ハンドトラッキング ○ Leap Motion/Kinectの代替 ■ deepな手法である必要性はない ● VTuberアプリ ○ VRM+PoseNetで既にある程度いけそう ■ BodyPixは顔パーツ認識も可能 ● 表情への反映もできる ● FaceMesh ■ 先行実装: FaceVTuber ref: https://vrm.dev/vrm_applications/ ○ 声質変換? ■ Yukariライブラリ ● https://qiita.com/atticatticattic/items/37441f3be6916cd1e73a ■ 速度に課題 ● GPU必須
  • 27. 他にできそうなこと(2) ● 自然言語処理 ○ ブラウザと Tensorflow.js を使った BERT の活用方法を考える (Google blog) ■ https://developers-jp.googleblog.com/2020/04/tensorflowjs-bert.html ■ https://github.com/tensorflow/tfjs-models/tree/master/qna ● MobileBERTを用いたQ&A ● 現状日本語は使えない ○ 日本語のQ&Aで訓練していない ■ SQuAD 1.1に基づく(らしい) ■ https://www.slideshare.net/ShionHonda/bertmobileberttensorflowjs ○ 語彙自体は含まれている ○ 訓練データを用意し、 fine tuningすれば使えるはず ■ TensorFlow Liteモデルもある ■ 簡単な分類ぐらいなら割とすぐできそう
  • 28. 速度面の課題 ● 画像は補完技術が充実 ○ 音声、自然言語への適用は困難 ○ 生成に必要なデータが巨大、計算量も多い ■ GPUでリアルタイムにできるようになってきた ● WaveNet(2016)では1秒の音声生成に1分程度かかっていた ● 量子化 ○ 浮動小数点計算を整数やバイナリで近似する技術 ■ すべての演算を置き換えることが常に可能とは限らない ○ tfjs-modelsは多くをサポート ■ 精度を犠牲にしていることに留意 ● DNNモデルの推論はシングルコア駆動(多分) ○ TensorFlowネイティブランタイムならマルチコア駆動
  • 29. コンピューティングのトレンド ● 歴史は繰り返す ○ 中央集権型 vs 分散型 ■ 「ダウンサイジング」 ● Thin Clinet ■ エッジAI ● DNNモデルを軽量化 ● 組み込み機器で動作させる ● cf. AIスピーカー ○ 処理の大半はクラウド側 ○ 温故知新 ■ LSTM, CNNも20世紀に考案されたもの ○ 次のトレンドは? ■ ニューラルネットのように昔のトレンドが復活する可能性
  • 30. まとめ ● 10年でディープニューラルネットワークが飛躍的な進化 ○ 計算資源とデータセット ○ 第三次AIブーム ■ そろそろ終焉? ● 使うだけならお手軽 ○ 多くのフレームワークと訓練済みモデル ○ ブラウザでも動作 ■ Webカムとの組み合わせ ● DFSG的にはどうか? ○ 再配布不可・商用利用不可のデータセット、訓練済みモデルも多い ■ 研究目的のみ可というものも多い ○ 個人的には再現可能なレベルを心がけている ■ 元データのライセンスに課題
  • 31. NN以外のトピック ● 統計ベース ○ ベイジアンフィルター ■ A Plan For Spam (by Paul Graham, 2002) ● bogofilter, spamassassin等 ● Support Vector Machine (SVM) ● 決定木(Decision Tree)ベース ○ XGBoost ○ LightGBM ○ CatBoost