SlideShare uma empresa Scribd logo
1 de 80
Baixar para ler offline
Dogfooding
💕 女子💕
自己紹介
• @stibear1996
• 普通の高校生Lisper
• NPCA平部員
• ヒゲの生えた💕 女子💕
Dogfoodingとは
• “Eating your own dog food”
• 開発途上のソフトウェアを自分で使うこと
序章 とあるミーハープログラマの事例
※私ではない
( ˘⊖˘) .oO(機械学習流行ってる…)
いまどき流行りの機械学習
( ˘⊖˘) .oO(私もやりたい…)
( ˘⊖˘) .oO(どうやってやるんだ?)
Python/Javaで機械学習
( ˘⊖˘) .oO(ライブラリあるじゃん…)
( ˘⊖˘) .oO(既存のライブラリ使お…)
………
甘い!甘すぎる!!
💕 女子💕は
💕 女子💕は
自分で実装!!
( ˘⊖˘) .oO(実装…?Pythonで作ろ…)
甘い!甘すぎる!!
💕 女子💕は
💕 女子💕は
LISPで実装!!
( ˘⊖˘) .oO(Lisp…?Clojure使お…)
甘い!甘すぎる!!
💕 女子💕は
💕 女子💕は
言語から実装!!
………
というわけで,
Picrinでニューラルネットを
実装しました
Picrinとは
• @wasabizによるScheme処理系
• R7RS準拠を目指す新進気鋭の処理系
• 絶賛Pull-req募集中
• 私もCo-Authorの1人
• フルセットの健全マクロや,
モナディックリストオペレータ,
第一級ライブラリなど,挑戦的な試みも多い
• 今後とも目が離せないOSSプロジェクト
Picrinの健全マクロ
syntactic-closure
(define-syntax aif
(sc-macro-transformer
(lambda (form env)
(let ((test
(make-syntactic-closure
env ‘() (cadr form)))
(then
(make-syntactic-closure
env ‘(it) (caddr form)))
(else
(make-syntactic-closure
env ‘() (cadddr form))))
`(let ((it ,test))
(if it ,then ,else))))))
implicit renaming
(define-syntax aif
(ir-macro-transformer
(lambda (form inject compare)
(let ((it (inject ‘it))
(test (cadr form))
(then (caddr form))
(else (cadddr form)))
`(let ((,it ,test))
(if ,it ,then ,else))))))
PicrinのMonadic List Operator
Haskell
filter pred xs =
do x <- xs
if pred x then
return x
else
mzero
Picrin (Scheme)
(define (filter pred xs)
(for (let ((x (in xs)))
(if (pred x)
(yield x)
(null)))))
このPicrinを使って
まずは単純パーセプトロンを
実装してみました
第Ⅰ章 ベクタ操作が欲しくて…夏
第Ⅰ章 ベクタ操作が欲しくて…夏
実装
( ˘⊖˘) .oO(ベクタ関数ないじゃん…)
( ˘⊖˘) .oO(実装しちゃお…)
まず,
Picrinでベクタを扱うために
SRFI-43を実装します
SRFI
• 「さーふぃー」と読む
• Scheme Requests for Implementation
• 「Scheme の事実上の標準拡張仕様のこと」
(Wikipedia)
• 小さなSchemeの仕様では補いきれない部分
をSRFIで標準化
SRFI-43
• ベクタに関する諸々の手続き(関数)が定義
されている
• リストに関する諸々の手続きが定義されて
いるSRFI-1との対応を若干意識している
• そのためvector-foldなんてものもある
• なお,SRFI-43の実装のためSRFI-8を実装
し使用
SRFI-8の実装
SRFI-43の実装
SRFI-8 & 43の実装
これで,
ベクタ同士のドット積等々が
実装できるようになりました
やったね たえちゃん!
( ˘⊖˘) .oO(いよいよか…)
………
第Ⅱ章 単純パーセプトロンちゃん
( ˘⊖˘) .oO(何実装しようかな…)
単純パーセプトロンちゃん
(……きこえますか…今…あなたの心に…
直接…呼びかけています…実装するのな
ら…私が比較的…簡単です…さあ…私を
実装するのです…)
( ˘⊖˘) .oO(単純パーセプトロンか…)
さあ,
単純パーセプトロンの定義を
見てみましょう
単純パーセプトロン
パターン認識と機械学習 上 (p.p.190)
ただし,
今回は簡単のために,
Φは無視し,次の定義を用います
※yにΦ(x)をあたえればいいので
単純パーセプトロン
実装
dot*
predict
train
( ˘⊖˘) .oO(できたぜ…)
………
第Ⅲ章 ANDとOR
( ˘⊖˘) .oO(早速動かしてみたい…)
( ˘⊖˘) .oO(論理演算とかやるか…)
AND/OR
テストデータ
percep関数
動かしてみる
動かしてみる
動かしてみる
( ˘⊖˘) .oO(ヨッシャ!!…)
………
第Ⅳ章 非線形分離関数なアイツ
Minsky&Papert
「単純パーセプトロンは線形非分離
な問題を解けないよ」
AND/OR
XOR
XOR「フハハ!! 俺は線形分離でき
ぬぞ!!」
単純パーセプトロンちゃん
「ふぇぇ…」
( ˘⊖˘) .oO(なるほど…)
(多層パーセプトロンの実装は,
オブジェクト指向プログラミングが
便利だろうということで,)
(現在Picrinで動くCLOSライクな
オブジェクトシステムを開発中)
To be continued…
まとめ
• みなさんPicrinを使いましょう!
参考文献
• パターン認識と機械学習(上)
• 単純パーセプトロンをPythonで組んでみる
– http://tjo.hatenablog.com/entry/2013/05/01/190247
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais de stibear (stibear1996)

Mais de stibear (stibear1996) (7)

EROSについて
EROSについてEROSについて
EROSについて
 
Lisp on Lisp
Lisp on LispLisp on Lisp
Lisp on Lisp
 
灘校パソコン研究部(NPCA)におけるLispの活用について
灘校パソコン研究部(NPCA)におけるLispの活用について灘校パソコン研究部(NPCA)におけるLispの活用について
灘校パソコン研究部(NPCA)におけるLispの活用について
 
Lisp講義1
Lisp講義1Lisp講義1
Lisp講義1
 
IMのはなし
IMのはなしIMのはなし
IMのはなし
 
PXE @第一回成果報告会(2012/12/17)
PXE @第一回成果報告会(2012/12/17)PXE @第一回成果報告会(2012/12/17)
PXE @第一回成果報告会(2012/12/17)
 
しがないLisperのつまらないLT
しがないLisperのつまらないLTしがないLisperのつまらないLT
しがないLisperのつまらないLT
 

Último

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: 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 Gamesatsushi061452
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介: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 UnderstandingToru Tamaki
 
論文紹介: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...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Último (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: 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
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
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
 
論文紹介: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...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Dogfooding