SlideShare a Scribd company logo
1 of 54
Download to read offline
ディープラーニングとGPU
2015/11/21 きしだ なおき
自己紹介

刀語というアニメを見てます。
 第8話なう(12話中)
機械学習
実装中
機械学習とは
• 多数のデータからパラメータを学習する
• 適当にいろいろ調整して、いい感じのところを
覚えておく→学習
• いろいろ判定に使う
• あんまりファンタジーじゃない
ニューラルネットワーク
• ニューロンを模した構造
各ユニットの計算
• 入力に重みをかけてバイアスを足して活性化
関数を適用
活性化関数
• 入力に、なにか掛けて足すだけでは線形にし
かならない
• 非線形な活性化関数を入れる
–シグモイド関数
–ReLU(正規化線形関数)
• 計算が速い!
ニューラルネットワークの学習
最急降下法
• 微分して傾きを求めて深いほうに進む
• 最適ではない谷に落ちないように工夫が必要
バックプロパゲーション
• 誤差を逆伝播させる
ディープラーニングによる画像識
別
ディープラーニング
• 階層の深いニューラルネット
• 最近、人工知能っていわれてるのは、ほぼこ
れ
• いままでできなかったわけ
–コンピュータが遅かった
• GPUで速い計算
–データがなかった
• インターネッツ!
– データあさり放題
• クラウドソーシング!
– ImageNetの1400万の画像はクラウドソーシングでタグ付けしてるら
しい
参考文献
• 「深層学習」
–広い範囲が解説してある
–http://www.amazon.co.jp/dp/4061529021
• AlexNet論文
• パラメータなどが詳しく説明して
• ある
– http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf
畳み込みニューラルネット
• 畳み込み層やプーリング層といった、特徴的
なレイヤーを持つニューラルネット
• 画像識別に向いている
• AlexNetで有名に
–2012年のILSRVCで2位に大差をつけて優勝
畳み込み層
• フィルターを畳み込む
• 重み共有
プーリング層
• 区域の最大値をとったり平均をとったりする
• 学習パラーメタはない
正規化層
• 値の平均や分散を一定にする
• 学習パラメータはない
AlexNetの構造
• C->P->N->C->P->N->C->C->C->P->F->F->F
–C:畳み込み層
• 96/256/384/384/256
–P:プーリング層
–N:正規化層
–F:全結合
• 4096/4096/1000
• いま動いてるやつ
–C->P->N->C->P->N->F->F
• C:48/96
• F:1024/256
学習の工夫
データ正規化
• 入力画像の画素ごとの平均をとっておいて、
入力画像から引く
ミニバッチ
• 一枚の画像ごとに重み更新するんではなく
て、何枚かの画像の差分を平均して重みを更
新する
モメンタム
• 重みの更新に慣性をつける。
• 谷に落ちにくくなる
局所正規化
• 近いフィルタの出力を使って正規化する
ドロップアウト
• 複数の機械学習の結果を平均させると
いい結果になる。
• 複数の機械学習器を用意するのは面倒
• ニューラルネットの
• ユニットを確率的に
• 省く
• 構造の違う
–ニューラルネット!
ぼくの機械学習が学習してくれな
かったわけ
• フィルタの初期値が大きすぎた
–フィルタは標準偏差0.01、平均0のガウスノイズに
–バイアスは0か1
• 青イルカ本に書いてない工夫
–局所正規化
• となりのフィルタ出力と平均化させる
–重み減衰を取り入れる
• aparapiのバグ!
–これはひどい
GPU対応
GPUつよい!
• GPU
–ちょうたくさんコアがある
–同じ処理を行う
–行列計算に向いてる
• GTX 970
–1664コア!
–衝動買い!
CPU

高機能・高性能・高粒度

OSが実行できる

演算器はコアあたり10個程度
 一チップに100個程度

明示的にメモリを制御できない
 いかにキャッシュに載せるか

= いかにメモリをまとめて扱うか
GPU

GPU
 ちょうたくさんコアがある
 同じ処理を行う
 行列計算に向いてる

GTX 970
 1664コア!
 衝動買い!
GPUの構成

いくつかのコアでグループを作る
 同時に同じ命令を実行する
 グループだけからアクセスできるメモリをもつ

コアのグループが多数ある

コアのグループあたり数個の演算器
 数千から数万の演算器
 グループ内では同じ演算が行われる

とってもSIMD
GPUの製品

NVIDIA
 GeForce
 Tesla

GPGPU専用

AMD
 Radeon

Intel
 Intel HD Graphics

CPUチップに内蔵されたGPU
GPGPU

General Purpose computing on GPU

GPUで汎用計算

シミュレーションとか速い

最近のスーパーコンピュータはGPUがたくさん載って
る
GPGPU環境

CUDA
 NVIDIA製品用

DirectX
 Windows専用

OpenCL
 OpenGLとか作った団体(Khronos Group)が策定
 さまざまなデバイスで使える
 FPGAでも使えたりする
JavaでGPU

Aparapi
 JavaコードをOpenCLに変換

OpenCLを呼び出す
 OpenCL:並列計算フレームワーク

AMD始め、IntelやNVIDIAなどが参加
 JOCL(jogamp.org)
 JOCL(jocl.org)
 JavaCL

Project Sumatra
 Stream処理を自動的にGPUで行う
 Java VMに組み込む
Aparapi

A PARalell API

実行時にJavaコードをOpenCLに変換

https://code.google.com/p/aparapi/
Aparapiコード
public class AparapiKernel extends Kernel{
float[] inputA;
float[] inputB;
float[] output;
@Override
public void run() {
int gid = getGlobalId();
output[gid] = inputA[gid] * inputB[gid];
}
public static void main(String[] args) {
AparapiKernel kernel = new AparapiKernel();
int elementCount = 1_444_477;
kernel.inputA = new float[elementCount];
kernel.inputB = new float[elementCount];
kernel.output = new float[elementCount];
fillBuffer(kernel.inputA);
バグがある・・・
• 三項演算子のカッコが反映されない
–(修正してプルリクなげてとりこまれてます)
• CPUとの結果と比較するテストを用意した
ほうがいい
–けど、丸めの違いを考慮するの面倒void proc(int fxy) {
float d = (result[fxy] >= 0 ? 1 : 0) * delta[fxy];
tempBiasDelta[fxy] = learningRate * d;
}
void
kishida_cnn_kernels_ConvolutionBackwordBiasKernel__proc(This
*this, int fxy){
float d = (float)(this->result[fxy]>=0.0f)?1:0 * this-
>delta[fxy];
this->tempBiasDelta[fxy] = this->learningRate * d;
return;
↓
JOCL(jogamp.org)

OpenCLを薄くラップ

https://jogamp.org/jocl/www/
JOCLのコードString KERNEL_CODE =
"kernel void add(global const float* inputA,"
+ " global const float* inputB,"
+ " global float* output,"
+ " uint numElements){"
+ " size_t gid = get_global_id(0);"
+ " if(gid >= numElements){"
+ " return;"
+ " }"
+ " output[gid] = inputA[gid] + inputB[gid];"
+ "}";
CLContext ctx = CLContext.create();
CLDevice device = ctx.getMaxFlopsDevice();
CLCommandQueue queue = device.createCommandQueue();
CLProgram program = ctx.createProgram(KERNEL_CODE).build();
int elementCount = 1_444_477;
int localWorkSize = Math.min(device.getMaxWorkGroupSize(),
256);
int globalWorkSize = ((elementCount + localWorkSize - 1) /
localWorkSize) * localWorkSize;
CLBuffer<FloatBuffer> clBufferA = ctx.createFloatBuffer(
elementCount, CLMemory.Mem.READ_ONLY);
CLBuffer<FloatBuffer> clBufferB = ctx.createFloatBuffer(
elementCount, CLMemory.Mem.READ_ONLY);
CLBuffer<FloatBuffer> clBufferC = ctx.createFloatBuffer(
elementCount, CLMemory.Mem.READ_WRITE);
fillBuffer(clBufferA.getBuffer());
fillBuffer(clBufferB.getBuffer());
比較

Aparapi
 めちゃ楽
 GPUの性能出しにくい

JOCL
 ちょっと面倒
 GPUの性能出しやすい
Sumatra

Java VMに組み込むことを目標

実装難しそう

コード書くのもわかりにくそう

性能出しにくそう

Java VMに組み込むほどメリットなさそう
 性能欲しい人はOpenCL使うよね
と思ったら

「Sumatra is not in active development
for now.(2015/5/1) 」
http://mail.openjdk.java.net/pipermail/sumatra-dev/2015-
May/000310.html
効果
• AlexNetの学習
Aparapiを使う

Core i7 4コア+GTX 970

15枚/分(CPUのみ)→75枚/分(GPU)

1400万枚の画像処理が650日→130日!
doubleではなくfloatを使う
• 学習に精度はあまり関係ない
• 「誤差の減り方は殆ど同じであり、数値に高い精度は
必要ない」
– http://news.mynavi.jp/articles/2015/04/08/gtc2015_google/

精度が半分になれば並列度があげれる

データの転送量が減る
DoubleではなくFloatを使う

75枚/分→95枚/分

1400万枚の画像処理が130日→102日!
JOCLを使う

95枚/分→298枚/分

1400万枚の画像処理が102日→34日!
GPUローカルメモリを使う

298枚/分→300枚/分

1400万枚の画像処理が34日→33日
違う処理を並列に行う

畳み込み層の逆伝播処理
 重み更新
 誤差伝播
 バイアス更新
if(n < deltaCount){
// 誤差伝播
}else if (n < deltaCount + filterCount){
// 重み更新
}else if (n < deltaCount + filterCount + biasCount){
// バイアス更新
}
条件分岐の注意
ひとつのグループにif/else両方走ると

if→elseの順に両方の処理が走る

ひとつのグループではどちらかになるよう
に調整が必要

32個単位くらい
画面表示をはぶく

画面表示のためにGPU→CPU間転送が行わ
れていた

300枚/分→320枚/分

1400万枚の画像処理が34日→30日
結果

機械学習
 まだ学習できてません・・・

オレ学習
 GPUのプログラミングが学習できました。
まとめ
• 一ヶ月がんばればなんでも組める気がする
• お金さえあればたくさんデータが処理できる

More Related Content

What's hot

PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門Yosuke Onoue
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングTanUkkii
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep LearningSatoshi imai
 
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回Tomoya Kawanishi
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiTomohiro Kumagai
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングYosuke Mizutani
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~JustSystems Corporation
 
20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_publicKazuaki Ishizaki
 
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)Shuyo Nakatani
 
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPUTakuro Iizuka
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたRyo Sakamoto
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたMITSUNARI Shigeo
 
これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6TanUkkii
 
javascript を Xcode でテスト
javascript を Xcode でテストjavascript を Xcode でテスト
javascript を Xcode でテストYoichiro Sakurai
 
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 RubyをコンパイルしようCookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 RubyをコンパイルしようKoichi Sasada
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編Miki Shimogai
 
Java EE勉強会 開発合宿 成果発表
Java EE勉強会 開発合宿 成果発表Java EE勉強会 開発合宿 成果発表
Java EE勉強会 開発合宿 成果発表Akihiro Harai
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013Ryo Sakamoto
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能MITSUNARI Shigeo
 

What's hot (20)

PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミング
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
 
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
 
20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public
 
20120721_ishkawa
20120721_ishkawa20120721_ishkawa
20120721_ishkawa
 
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
 
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみた
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
 
これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6
 
javascript を Xcode でテスト
javascript を Xcode でテストjavascript を Xcode でテスト
javascript を Xcode でテスト
 
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 RubyをコンパイルしようCookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
 
Java EE勉強会 開発合宿 成果発表
Java EE勉強会 開発合宿 成果発表Java EE勉強会 開発合宿 成果発表
Java EE勉強会 開発合宿 成果発表
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 

Viewers also liked

開発を効率化してみよう.NET
開発を効率化してみよう.NET開発を効率化してみよう.NET
開発を効率化してみよう.NETYuta Matsumura
 
20160402_Awsで簡単実装cmsサイト
20160402_Awsで簡単実装cmsサイト20160402_Awsで簡単実装cmsサイト
20160402_Awsで簡単実装cmsサイトTsukasa Kato
 
20160402 JAWS-UG大分 AWS初心者向け勉強会@おおいた2016春
20160402 JAWS-UG大分 AWS初心者向け勉強会@おおいた2016春20160402 JAWS-UG大分 AWS初心者向け勉強会@おおいた2016春
20160402 JAWS-UG大分 AWS初心者向け勉強会@おおいた2016春Midori Ikegami
 
20160402 jaws oita_opening
20160402 jaws oita_opening20160402 jaws oita_opening
20160402 jaws oita_openingFumio Hirano
 
Asp.netとbluemixで遊んでみたお話
Asp.netとbluemixで遊んでみたお話Asp.netとbluemixで遊んでみたお話
Asp.netとbluemixで遊んでみたお話Kazunori Hamamoto
 
Webデザイナー視点で使ってみた Microsoft Azureの話
Webデザイナー視点で使ってみたMicrosoft Azureの話Webデザイナー視点で使ってみたMicrosoft Azureの話
Webデザイナー視点で使ってみた Microsoft Azureの話典子 松本
 
AWS free tier maximization
AWS free tier maximizationAWS free tier maximization
AWS free tier maximizationKenkichi Okazaki
 
人工知能に何ができないか
人工知能に何ができないか人工知能に何ができないか
人工知能に何ができないかなおき きしだ
 
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定するNetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定するなおき きしだ
 
ソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかなおき きしだ
 
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介Sakae Saito
 
kintone café 大阪 Vol.3
kintone café 大阪 Vol.3 kintone café 大阪 Vol.3
kintone café 大阪 Vol.3 Koji Asaga
 
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオンMidori Ikegami
 
【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性Koji Asaga
 
第35回 WordBench 大阪 kintoneハンズオン
第35回 WordBench 大阪 kintoneハンズオン第35回 WordBench 大阪 kintoneハンズオン
第35回 WordBench 大阪 kintoneハンズオンKoji Asaga
 
kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理
kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理
kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理Masumi Nagamine
 
20150624 kintone Café 福岡
20150624 kintone Café  福岡20150624 kintone Café  福岡
20150624 kintone Café 福岡Toshiyuki Konparu
 
kintone Café 新潟 Vol.2 -kintone magic-
kintone Café 新潟 Vol.2 -kintone magic-kintone Café 新潟 Vol.2 -kintone magic-
kintone Café 新潟 Vol.2 -kintone magic-Takashi Ushirosako
 

Viewers also liked (20)

開発を効率化してみよう.NET
開発を効率化してみよう.NET開発を効率化してみよう.NET
開発を効率化してみよう.NET
 
20160402_Awsで簡単実装cmsサイト
20160402_Awsで簡単実装cmsサイト20160402_Awsで簡単実装cmsサイト
20160402_Awsで簡単実装cmsサイト
 
20160402 JAWS-UG大分 AWS初心者向け勉強会@おおいた2016春
20160402 JAWS-UG大分 AWS初心者向け勉強会@おおいた2016春20160402 JAWS-UG大分 AWS初心者向け勉強会@おおいた2016春
20160402 JAWS-UG大分 AWS初心者向け勉強会@おおいた2016春
 
20160402 jaws oita_opening
20160402 jaws oita_opening20160402 jaws oita_opening
20160402 jaws oita_opening
 
Asp.netとbluemixで遊んでみたお話
Asp.netとbluemixで遊んでみたお話Asp.netとbluemixで遊んでみたお話
Asp.netとbluemixで遊んでみたお話
 
Webデザイナー視点で使ってみた Microsoft Azureの話
Webデザイナー視点で使ってみたMicrosoft Azureの話Webデザイナー視点で使ってみたMicrosoft Azureの話
Webデザイナー視点で使ってみた Microsoft Azureの話
 
AWS free tier maximization
AWS free tier maximizationAWS free tier maximization
AWS free tier maximization
 
JavaOne2016報告
JavaOne2016報告JavaOne2016報告
JavaOne2016報告
 
人工知能に何ができないか
人工知能に何ができないか人工知能に何ができないか
人工知能に何ができないか
 
乱数のたのしい話
乱数のたのしい話乱数のたのしい話
乱数のたのしい話
 
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定するNetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
 
ソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うか
 
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介
 
kintone café 大阪 Vol.3
kintone café 大阪 Vol.3 kintone café 大阪 Vol.3
kintone café 大阪 Vol.3
 
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
 
【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性
 
第35回 WordBench 大阪 kintoneハンズオン
第35回 WordBench 大阪 kintoneハンズオン第35回 WordBench 大阪 kintoneハンズオン
第35回 WordBench 大阪 kintoneハンズオン
 
kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理
kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理
kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理
 
20150624 kintone Café 福岡
20150624 kintone Café  福岡20150624 kintone Café  福岡
20150624 kintone Café 福岡
 
kintone Café 新潟 Vol.2 -kintone magic-
kintone Café 新潟 Vol.2 -kintone magic-kintone Café 新潟 Vol.2 -kintone magic-
kintone Café 新潟 Vol.2 -kintone magic-
 

Similar to 機械学習プロ生20151121

GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)なおき きしだ
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
130710 02
130710 02130710 02
130710 02openrtm
 
Arduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみようArduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみようHiromu Yakura
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in FukuokaShinobu Izumi
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Hiromu Yakura
 
Presentation on your terminal
Presentation on your terminalPresentation on your terminal
Presentation on your terminalTakuya ASADA
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Kenta Oono
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化marsee101
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例Ryota Murohoshi
 
D言語会議#1
D言語会議#1D言語会議#1
D言語会議#19rnsr
 
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519Yasuhiro Ishii
 
Python で munin plugin を書いてみる
Python で munin plugin を書いてみるPython で munin plugin を書いてみる
Python で munin plugin を書いてみるftnk
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -chibochibo
 
CUDAを利用したPIV解析の高速化
CUDAを利用したPIV解析の高速化CUDAを利用したPIV解析の高速化
CUDAを利用したPIV解析の高速化翔新 史
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺MITSUNARI Shigeo
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装Shinya Akiba
 

Similar to 機械学習プロ生20151121 (20)

GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
 
Processing
ProcessingProcessing
Processing
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
130710 02
130710 02130710 02
130710 02
 
Arduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみようArduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみよう
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編
 
Presentation on your terminal
Presentation on your terminalPresentation on your terminal
Presentation on your terminal
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
 
emc++ chapter32
emc++ chapter32emc++ chapter32
emc++ chapter32
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例
 
D言語会議#1
D言語会議#1D言語会議#1
D言語会議#1
 
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
 
Python で munin plugin を書いてみる
Python で munin plugin を書いてみるPython で munin plugin を書いてみる
Python で munin plugin を書いてみる
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -
 
CUDAを利用したPIV解析の高速化
CUDAを利用したPIV解析の高速化CUDAを利用したPIV解析の高速化
CUDAを利用したPIV解析の高速化
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 

More from なおき きしだ

GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話なおき きしだ
 
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8なおき きしだ
 
VRカメラが楽しいのでブラウザで見たくなった話
VRカメラが楽しいのでブラウザで見たくなった話VRカメラが楽しいのでブラウザで見たくなった話
VRカメラが楽しいのでブラウザで見たくなった話なおき きしだ
 
Java新機能観察日記 - JJUGナイトセミナー
Java新機能観察日記 - JJUGナイトセミナーJava新機能観察日記 - JJUGナイトセミナー
Java新機能観察日記 - JJUGナイトセミナーなおき きしだ
 
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会なおき きしだ
 
これからのコンピューティングの変化とこれからのプログラミング at 広島
これからのコンピューティングの変化とこれからのプログラミング at 広島これからのコンピューティングの変化とこれからのプログラミング at 広島
これからのコンピューティングの変化とこれからのプログラミング at 広島なおき きしだ
 
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11なおき きしだ
 
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11なおき きしだ
 
Java10 and Java11 at JJUG CCC 2018 Spr
Java10 and Java11 at JJUG CCC 2018 SprJava10 and Java11 at JJUG CCC 2018 Spr
Java10 and Java11 at JJUG CCC 2018 Sprなおき きしだ
 
New thing in JDK10 even that scala-er should know
New thing in JDK10 even that scala-er should knowNew thing in JDK10 even that scala-er should know
New thing in JDK10 even that scala-er should knowなおき きしだ
 
Java Release Model (on Scala Matsuri)
Java Release Model (on Scala Matsuri)Java Release Model (on Scala Matsuri)
Java Release Model (on Scala Matsuri)なおき きしだ
 
これからのJava言語と実行環境
これからのJava言語と実行環境これからのJava言語と実行環境
これからのJava言語と実行環境なおき きしだ
 
JavaOne2017で感じた、Javaのいまと未来 in 大阪
JavaOne2017で感じた、Javaのいまと未来 in 大阪JavaOne2017で感じた、Javaのいまと未来 in 大阪
JavaOne2017で感じた、Javaのいまと未来 in 大阪なおき きしだ
 
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...なおき きしだ
 

More from なおき きしだ (20)

GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
GraalVMの紹介とTruffleでPHPぽい言語を実装したら爆速だった話
 
GraalVM at Fukuoka LT
GraalVM at Fukuoka LTGraalVM at Fukuoka LT
GraalVM at Fukuoka LT
 
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
これからのコンピューティングの変化とこれからのプログラミング in 福岡 2018/12/8
 
GraalVMについて
GraalVMについてGraalVMについて
GraalVMについて
 
VRカメラが楽しいのでブラウザで見たくなった話
VRカメラが楽しいのでブラウザで見たくなった話VRカメラが楽しいのでブラウザで見たくなった話
VRカメラが楽しいのでブラウザで見たくなった話
 
最近のJava事情
最近のJava事情最近のJava事情
最近のJava事情
 
怖いコードの話 2018/7/18
怖いコードの話 2018/7/18怖いコードの話 2018/7/18
怖いコードの話 2018/7/18
 
Java新機能観察日記 - JJUGナイトセミナー
Java新機能観察日記 - JJUGナイトセミナーJava新機能観察日記 - JJUGナイトセミナー
Java新機能観察日記 - JJUGナイトセミナー
 
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
プログラマになるためになにを勉強するか at 九州学生エンジニアLT大会
 
これからのコンピューティングの変化とこれからのプログラミング at 広島
これからのコンピューティングの変化とこれからのプログラミング at 広島これからのコンピューティングの変化とこれからのプログラミング at 広島
これからのコンピューティングの変化とこれからのプログラミング at 広島
 
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
 
Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11Summary of JDK10 and What will come into JDK11
Summary of JDK10 and What will come into JDK11
 
Java10 and Java11 at JJUG CCC 2018 Spr
Java10 and Java11 at JJUG CCC 2018 SprJava10 and Java11 at JJUG CCC 2018 Spr
Java10 and Java11 at JJUG CCC 2018 Spr
 
New thing in JDK10 even that scala-er should know
New thing in JDK10 even that scala-er should knowNew thing in JDK10 even that scala-er should know
New thing in JDK10 even that scala-er should know
 
Java Release Model (on Scala Matsuri)
Java Release Model (on Scala Matsuri)Java Release Model (on Scala Matsuri)
Java Release Model (on Scala Matsuri)
 
これからのJava言語と実行環境
これからのJava言語と実行環境これからのJava言語と実行環境
これからのJava言語と実行環境
 
JavaOne報告2017
JavaOne報告2017JavaOne報告2017
JavaOne報告2017
 
JavaOne2017で感じた、Javaのいまと未来 in 大阪
JavaOne2017で感じた、Javaのいまと未来 in 大阪JavaOne2017で感じた、Javaのいまと未来 in 大阪
JavaOne2017で感じた、Javaのいまと未来 in 大阪
 
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
 
Javaプログラミング入門
Javaプログラミング入門Javaプログラミング入門
Javaプログラミング入門
 

機械学習プロ生20151121