Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOSは自動作曲の夢を見るか
Search
log5
September 02, 2023
Technology
0
1.6k
iOSは自動作曲の夢を見るか
iOSDC Japan 2023 で発表した内容です。
log5
September 02, 2023
Tweet
Share
More Decks by log5
See All by log5
App Clip 5年史: 萌動と停滞のクロニクル
judau
0
920
"Record, replay, and review: UI automation with Xcode" の要約
judau
1
170
懐かしきCaboChaのレシピをもう一度
judau
0
110
App Clipの魔法: iOSデザイン開発の新時代
judau
4
8.2k
AppCodeのサ終から半年後
judau
1
210
"Meet Swift Testing" & "Go further with Swift Testing" in 5 min
judau
0
330
Aquaの波紋によせて
judau
0
140
What's New in App Clips after WWDC23
judau
1
160
「そういえば何でテストエンジニアやめたん?」〜5年前の振り返りなの
judau
0
200
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
0
250
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
9
3.5k
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
6
3.5k
ソフトウェアエンジニアとデータエンジニアの違い・キャリアチェンジ
mtpooh
1
750
Flutter DevToolsで発見! 本番アプリのパフォーマンス問題と改善の実践
goto_tsl
1
370
AIでテストプロセスを自動化しよう251113.pdf
sakatakazunori
0
110
【Android】テキスト選択色の問題修正で心がけたこと
tonionagauzzi
0
130
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
1.3k
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
470
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
1
220
バグと向き合い、仕組みで防ぐ
____rina____
0
250
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Six Lessons from altMBA
skipperchong
29
4.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
920
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
What's in a price? How to price your products and services
michaelherold
246
12k
Making Projects Easy
brettharned
120
6.4k
Code Reviewing Like a Champion
maltzj
527
40k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Speed Design
sergeychernyshev
32
1.2k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Transcript
iOS ࣗಈ࡞ۂͷເΛݟΔ͔ʁ iOSDC Japan 2023 ΦϯσόΠεԻָੜͷՄೳੑ By log5
iOSʹ࡞ۂͯ͠΄͍͠
ͳͥ iOSʹ࡞ۂͯ͠΄͍͠
"QQ4UPSFͷࣗಈ࡞ۂΞϓϦͷྫ https://apps.apple.com/jp/app/id1115047756 https://apps.apple.com/jp/app/id1323778025 Amadeus Topline Melodist
ΦϯσόΠεੜ
ΦϯσόΠεੜͷಈػ • ֎෦ͱͷ௨৴Λ߇͍͑ͨ • ࣮ࡍԿΛૹͬͯΔͷ͔Θ͔Βͳ͍ • ΞϓϦͷར༻نʹಉҙͰ͖ͳ͍ • ੜָͨ͠ۂͷݖརʹؔ͢Δѻ͍ͳͲ •
ΞϓϦͷݸਓใऩूϙϦγʔʹෆຬ͕͋Δ • ྫ: ΞϓϦ͕ʮ࿈བྷઌใʯΛऩू͢Δͷͳͥʁ ͳͥΘ͟Θ͟ iOSʹ࡞ۂΛ?
ΦϯσόΠεੜͷಈػ • ୯७ʹʮ iOS ʹ࡞ۂΛͤΒΕΔ͔ʯ͕ڵຯ͕͋Δ ͳͥΘ͟Θ͟ iOSʹ࡞ۂΛ?
iOS ʹ࡞ۂΛͤΒΕΔ͔
J04ʹ࡞ۂΛͤΒΕΔ͔ …Λ֬ೝ͢ΔͨΊʹඞཁͳࣝ • Իָཧ • ͦͦʮ ࡞ۂͱԿͰ͔͋ͬͨ ʯ • AI(ਓೳ)
• AIͱ࡞ۂ ɺͦͷؔΘΓͱԠ༻
J04ʹ࡞ۂΛͤΒΕΔ͔ …Λ֬ೝ͢ΔͨΊʹඞཁͳࣝ • Իָཧ • ͦͦʮ ࡞ۂͱԿͰ͔͋ͬͨ ʯ • AI(ਓೳ)
• AIͱ࡞ۂ ɺͦͷؔΘΓͱԠ༻
1. ࡞ۂͱԿͰ͔͋ͬͨ 2. AIͱ࡞ۂ 3. iOSͱࣗಈ࡞ۂ 5BCMFPG$POUFOUT
1. ࡞ۂͱԿͰ͔͋ͬͨ (10 min) 2. AIͱ࡞ۂ (17 min) 3. iOSͱࣗಈ࡞ۂ
(10 min) 5BCMFPG$POUFOUT
(͋Μ·Γ) ͞ͳ͍͜ͱ ❌ Իָཧʹؔ͢Δ্ڃऀ͚ͷ ❌ ػցֶशʹؔ͢Δ্ڃऀ͚ͷ ❌ iOSʹ͓͚ΔԻָͷԋɾ࠶ੜʹؔ͢Δٕज़త ྫ: AVAudio,
CoreMIDI ͷͳͲ
ҙ ⚠ ղͳ֓೦ͷཧղΛॿ͚ΔͨΊɺݫີͰͳ͍ఆٛ·ͨݴ͍͑Λ༻͍Δ ͜ͱ͕͋Γ·͢ ྫ: ͜ΕϕΫτϧͳͷͰɺͭ·Γ࠲ඪͰ͢ ⚠ Իָͱ͍͏ܳज़༷ࣜࣗମ͕ධՁج४ΛݫີʹԽͰ͖ͳ͍֓೦ΛؚΉͨ Ίɺ٬؍ੑΛอͪͮΒ͍આ໌ؚ͕ٞ·ΕΔ͜ͱ͕͋Γ·͢ ྫ:
͍͍ײ͡ͷԻָɺΠέͯΔϝϩσΟ
1. ࡞ۂ ͱԿͰ͔͋ͬͨ 2. AIͱ࡞ۂ 3. iOSͱࣗಈ࡞ۂ 5BCMFPG$POUFOUT
࡞ۂͱԿͰ͔͋ͬͨ
࡞ۂ • Իָ Λ࡞͢Δߦҝ
ԻָͬͯԿͰ͔͢
Իָ • ৫Խ ͞Εͨ Իڹ • ΤυΨʔɾϰΝϨʔζ(Edgard Varèse)ʹΑΔఆٛ
ԻڹͬͯԿͰ͔͢
Իڹ • Ի ͷ ڹ͖ • αϯυ(Sound) ·ͨԻۂಛੑ(Acoustic)
Իͬͯ ڹ͖ͬͯ
Իͱڹ͖ • Ի • ָԻ • େ͖͞ɺߴ͞(ϐον)ɺ͞ɺԻ৭Ͱߏ͞ΕΔԻ • ᅗԻɺͻ͔͖ͬԻɺ͠ͳͲ(Ұൠʹ)ָԻʹؚ·Εͳ͍
Իͱڹ͖ • Ի • ָԻ • େ͖͞ɺߴ͞(ϐον)ɺ͞ɺԻ৭Ͱߏ͞ΕΔԻ • ڹ͖ •
ڹɺۭؒతҐஔɺԻ৭
Իָ • Ի = (Իྔ, ϐον, ͞, Ի৭) • ڹ͖
= (ڹ, ۭؒతҐஔ, Ի৭?)
Իָ • Իڹ = (Իྔ, ϐον, ͞, Ի৭, ڹ, ۭؒతҐஔ)
Իָ • Իָ = ৫Խ ͞Εͨ Իڹ (Իྔ, ϐον, ͞,
Ի৭, ڹ, ۭؒతҐஔ)
৫Խͬͯͳʹ
৫Խ ⽡໊⽢ࣄ͕ҰఆͷடংΛͪɺ༗ػతͳಇ͖Λ͢ΔΑ͏ʹ౷ҰԽ͢Δ͜ͱɻ ৫తʹ͢Δ͜ͱɻ (ਫ਼બ൛ ຊࠃޠେࣙయ) ͭ·Γ • ͨ͘͞ΜͷԻڹΛฒͼସ͑ͯ • Ұൠड͚͢ΔΑ͏ͳԻָ͕͢ΔΑ͏ʹྻͤ͞Δ
Իͷ৫Խ • ԻͱԻͷؒʹ͏·͍ؔΛͨͤΔ
Իͷ৫Խ • ԻͱԻͷؒʹ͏·͍ؔΛͨͤΔ = ԻͨͪΛԿΒ͔ͷடংɾҙਤͷͱʹదʹஔ͢Δ
Իͷ৫Խ • ԻͱԻͷؒʹ͏·͍ؔΛͨͤΔ • Իௐۂઢͷܾఆ • ࣍ͷԻ্͕͕Δ͔ʁԼ͕Δ͔ʁ
Իͷ৫Խ • ԻͱԻͷؒʹ͏·͍ؔΛͨͤΔ • Իௐۂઢͷܾఆ • ࣍ͷԻ্͕͕Δ͔ʁԼ͕Δ͔ʁ • ϦζϜͷܾఆ •
࣍ͷԻͱͷִؒʁ • ֤Իʹରͯ͠։࢝࣌ؒͱ࣋ଓ࣌ؒΛࢦఆ
Իͷ৫Խ • ϋʔϞχʔͷߏங • ಉ࣌͡ࠁʹ։࢝͢ΔԻͱͷߴࠩ • ਓؒͷײʹେ͖ͳӨڹΛ༩͑Δ
ग़య: ઈରΘ͔Δ! ۂ࡞ΓͷͨΊͷԻָཧ ৽൛, σΠϒ ενϡϫʔτ (ஶ), ౻Ҫ ඒอ (༁)
ग़య: ઈରΘ͔Δ! ۂ࡞ΓͷͨΊͷԻָཧ ৽൛, σΠϒ ενϡϫʔτ (ஶ), ౻Ҫ ඒอ (༁)
• ϋʔϞχʔ • ಉ࣌͡ࠁʹ։࢝͢ΔԻͱͷߴࠩ • ਓؒͷײʹେ͖ͳӨڹΛ༩͑Δ • จԽతഎܠʹىҼ͢Δͷ͔ ग़య: ઈରΘ͔Δ!
ۂ࡞ΓͷͨΊͷԻָཧ ৽൛, σΠϒ ενϡϫʔτ (ஶ), ౻Ҫ ඒอ (༁)
• ϋʔϞχʔ • ʮྑ͍Իʯ࣌ʹΑͬͯมԽ • Ϥʔϩούதੈ·Ͱ3ෆڠԻͩͬͨ • τϥΠτʔϯ(ྫ͑ υ ͱ
ϑΝ̅)ѱຐѻ͍
Իͷ৫Խ • ԻͱԻͷؒʹ͏·͍ؔΛͨͤΔ • Իௐۂઢͷܾఆ • ϦζϜͷܾఆ • ϋʔϞχʔͷߏங
Իͷ৫Խ • ԻͱԻͷؒʹ͏·͍ؔΛͨͤΔ • Իௐۂઢͷܾఆ • ϦζϜͷܾఆ • ϋʔϞχʔͷߏங •
͜ͷʮ৫Խʯ͕ʮ࡞ۂʯʹͱͬͯॏཁ
https://www.youtube.com/watch?v=OxJpZtp2ItE
• ଓ͖WebͰʂ • https://www.youtube.com/watch?v=OxJpZtp2ItE • apple 45th startup Ͱݕࡧ͢ΔͱଟͰ·͢…
Իͷ৫Խ • ৫Խ͍͠ • Իָܳज़ͰɺՁ؍ʹґଘ • ʮ͍͍ԻָʯͬͯԿʁ
Իͷ৫Խ • ৫Խ͍͠ • Իָܳज़ͰɺՁ؍ʹґଘ • ʮ͍͍ԻָʯͬͯԿʁ • ͋ͳ͕ͨ΄͍͠ͷʮܳज़Իָʯʁ •
ͦΕͱʮ࡞ۀBGMʯʁ • ԋํࣜॴͳͲͷจ຺ൈ͖Ͱ͍͠
Իͷ৫Խ • ৫Խ͍͠ • Իָܳज़ͰɺՁ؍ʹґଘ • ͏·͍৫Խͷख๏ݚڀ͞Ε͖ͯͨ
Իͷ৫Խ • ͏·͍৫Խͷख๏ݚڀ͞Ε͖ͯͨ • ϧʔϧϕʔεख๏ • ରҐ๏ɺֶɺટ๏ ͳͲ • ΫϥγοΫԻָͳͲͰԠ༻
Իͷ৫Խ • ͏·͍৫Խͷख๏ݚڀ͞Ε͖ͯͨ • ϧʔϧϕʔεख๏ • ܦݧతख๏ • 20ੈلҎ߱ͷϙοϓɺϩοΫͳͲ
Իͷ৫Խ • ͏·͍৫Խͷख๏ݚڀ͞Ε͖ͯͨ • ϧʔϧϕʔεख๏ • ܦݧతख๏ • 20ੈلҎ߱ͷϙοϓɺϩοΫͳͲ •
ରҐ๏ɺڭձટ๏͕ར༻͞ΕΔέʔε
Իͷ৫Խ • ͏·͍৫Խͷख๏ݚڀ͞Ε͖ͯͨ • ϧʔϧϕʔεख๏ • ܦݧతख๏ • 20ੈلҎ߱ͷϙοϓɺϩοΫͳͲ •
ʑͷΞʔςΟετ͕৽ڥΛࡧ
Իͷ৫Խ • ͏·͍৫Խͷख๏ݚڀ͞Ε͖ͯͨ • ϧʔϧϕʔεख๏ • ܦݧతख๏ • 20ੈلҎ߱ͷϙοϓɺϩοΫͳͲ •
ʑͷΞʔςΟετ͕৽ڥΛࡧ • ಛʹίʔυਐߦͳͲݦஶ
Իͷ৫Խ • ͏·͍৫Խͷख๏ݚڀ͞Ε͖ͯͨ • ϧʔϧϕʔεख๏ • ܦݧతख๏ • 20ੈلҎ߱ͷϙοϓɺϩοΫͳͲ •
ʑͷΞʔςΟετ͕৽ڥΛࡧ • ಛʹίʔυਐߦͳͲݦஶ • ྫ: VIm→IV→V→I (খࣨਐߦ)
Իͷ৫Խ • ৫Խ͍͠ • Իָܳज़ͰɺՁ؍ʹґଘ • ͏·͍৫Խͷख๏ݚڀ͞Ε͖ͯͨ • ϧʔϧϕʔεख๏ •
ܦݧతख๏
࡞ۂͱԿͰ͔͋ͬͨ
࡞ۂ • Իڹͷू߹Λ࡞Γɺ৫Խ͢Δ • ԻڹΛ͍͍ײ͡ʹ࡞Δ • Իڹͱ (Իྔ, ϐον, ͞,
Ի৭, ۭؒతҐஔ, ڹ) ͷ • ৫ԽΛ্खʹߦ͏ • ϦζϜɺԻௐۂઢɺϋʔϞχʔΛߟྀͯ͠ԻΛஔ͢Δ • ීวతͳਖ਼ղͳ͍͕ɺ࣌/ҬͷྲྀߦʹԠͨ͡ʮఆ൪ʯଘࡏ͢Δ༷ • Ұ෦ܦݧతͳΤοηϯεͱͯ͠ੵ
1. ࡞ۂ ͱԿͰ͔͋ͬͨ 2. AIͱ࡞ۂ 3. iOSͱࣗಈ࡞ۂ Table of Contents
AIͱ࡞ۂ
ίϯϐϡʔλʔͱ࡞ۂ
ίϯϐϡʔλʔͱ࡞ۂ • ίϯϐϡʔλʔͰࣗಈ࡞ۂΛߦ͏ࢼΈࣗମݹ͔͘Β͋Δ • ΠϦΞοΫۂ (1957, ޙͷʮݭָ࢛ॏۂୈ4൪ʯ) • ILLIAC I(ΠϦϊΠࣗಈܭࢉػ)ʹΑΔ࡞ۂ
ίϯϐϡʔλʔͱ࡞ۂ • ΠϦΞοΫۂ (1957, ޙͷʮݭָ࢛ॏۂୈ4൪ʯ) • 4ָষߏͰɺͦΕͧΕҟͳΔख๏ͰԻָΛੜ 1. ఆટ 2.
ରҐ๏ʹجͮ͘4ͷੜ 3. ԻྔɺϦζϜɺԋࢦࣔͷՃ 4. ֬Իָʹجͮ͘ੜ
ίϯϐϡʔλʔͱ࡞ۂ • ΠϦΞοΫۂ ͔Βݟ͑ͯ͘Δͷ • ԻָͷδϟϯϧʹΑͬͯ؆୯ͳϓϩάϥϜͰࣄΓΔ • Իڹͷ৫Խ͕؆୯Ͱ͋Δ • ๏ɾରҐ๏
→ ΞϧΰϦζϜ
ίϯϐϡʔλʔͱ࡞ۂ • ΠϦΞοΫۂ ͔Βݟ͑ͯ͘Δͷ • ԻָͷδϟϯϧʹΑͬͯ؆୯ͳϓϩάϥϜͰԻָ͕࡞ΕΔ • ʮେऺԻָʯϧʔϧϕʔεੜ͚ͩͩͱ͍͠ • ܕഁΓͷԻָ
• ʮܦݧతʹΒΕ͍ͯΔΤοηϯεʯΛͲ͏͢Δ͔
ίϯϐϡʔλʔͱ࡞ۂ • ΠϦΞοΫۂ ͔Βݟ͑ͯ͘Δͷ • ԻָͷδϟϯϧʹΑͬͯ؆୯ͳϓϩάϥϜͰԻָ͕࡞ΕΔ • ʮେऺԻָʯϧʔϧϕʔεੜ͚ͩͩͱ͍͠ • ܕഁΓͷԻָ
• ʮܦݧతʹΒΕ͍ͯΔΤοηϯεʯΛͲ͏͢Δ͔ • ӅΕͨಛͷநग़͕ඞཁ → AIʢਓೳʣͷར༻
"*ͱ࡞ۂ • 2006Ҏ߱ɺσΟʔϓϥʔχϯά͕(࠶ʑ)ྲྀߦ • ʮAI࡞ۂʯΛ൘ʹܝ͛ͨπʔϧ͕ଟੜ • ਓؒͷॿ͚ΛआΓͣʹ͍͍ײ͡ͷ࡞ۂͰ͖Δ͔ͱݴΘΕΔͱ…
"*ͱ࡞ۂ • ݱঢ়ɺਓؒͷखॿ͚͕ඞཁͳέʔεଟ͍ • ϧʔϓԻݯΛਓ͕ؒ࡞Δඞཁ͕͋Δ • ఏҊ͞ΕͨԻָΛਓ͕ؒख͢͠Δඞཁ͕͋Δ
"*ͱ࡞ۂ • ਓؒͷॿ͚Λଟ͘आΓͨ߹ • ࣅͨΑ͏ͳۂ͔ΓͰ͖Δ → ͖Δ → Θͳ͘ͳΔ •
ਓؒͷॿ͚ΛआΓͳ͍߹ • Իָͷ࣭͕ѱ͘ͳΔ → Θͳ͘ͳΔ • Իָͷ࣭ͱଟ༷ੑτϨʔυΦϑͷؔ
"*ͱ࡞ۂ • ࣮ࡍʹͲͷΑ͏ʹ࡞ۂΛ࣮ݱ͍ͯ͠Δ͔ • Իڹͷੜ • ৫Խ
"*ͱ࡞ۂ • ࣮ࡍʹͲͷΑ͏ʹ࡞ۂΛ࣮ݱ͍ͯ͠Δ͔ • Իڹͷੜ • αϯυ߹ͳͲ • ৫Խ •
ϝϩσΟੜ • ରટੜ • ੜͳͲ
"*ͱ࡞ۂ • ࣮ࡍʹͲͷΑ͏ʹ࡞ۂΛ࣮ݱ͍ͯ͠Δ͔ • Իڹͷੜ • αϯυ߹ͳͲ • ৫Խ •
ϝϩσΟੜ • ରટੜ • ੜͳͲ
ϝϩσΟੜ
"*ͱϝϩσΟੜ • ʹ͋ΘͤͯɺओટΛੜ͢Δॲཧ ?
"*ͱϝϩσΟੜ • ʹ͋ΘͤͯɺओટΛੜ͢Δॲཧ • Input: ίʔυใ, output: ϝϩσΟ ?
"*ͱϝϩσΟੜ • ʹ͋ΘͤͯɺओટΛੜ͢Δॲཧ • Input: ίʔυใ, output: ϝϩσΟ • ෩࿊ͷඓՎ
"*ͱϝϩσΟੜ • ʹ͋ΘͤͯɺओટΛੜ͢Δॲཧ • Input: ίʔυใ, output: ϝϩσΟ • ෩࿊ͷඓՎ
• ൺֱత؆୯ͳ࣮Ͱ͖ɺԠ༻Ͱ͖Δ
"*ͰϝϩσΟੜʁʁ
"*ͱԿ͔
"* • Artificial Intelligence (ਓೳ) • ಛʹ ػցֶश ٕज़Λར༻ͨ͠ਓೳΛࢦ͢
ػցֶशͱԿ͔
ػցֶश ίϯϐϡʔλʔʹΑΔֶशɻਓೳͷҰͰ͋Γɺਓֶ͕ؒͭशೳྗͱ ಉ͘͡ɺίϯϐϡʔλʔܦݧ͔Βֶश͠ɺকདྷ༧ଌҙࢥܾఆΛ࣮ݱͰ͖Δ Α͏ʹ͢Δٕज़ख๏Λࢦ͢ɻϚγϯϥʔχϯάɻ(ग़యɿσδλϧେࣙઘʢখֶؗʣ) ͬ͘͟Γݴ͏ͱ • ʮ࣭ͱ͑ʯͷηοτΛଟͬͯɺʮʯΛֶश͢Δ
ػցֶश ͬ͘͟Γݴ͏ͱ • ʮ࣭ͱ͑ʯͷηοτΛଟͬͯɺʮʯΛֶश͢Δ • ྫ: ೣͱݘͷը૾Λେྔʹͬͯʮݘ͔ೣ͔ʯΛֶश
• ʮ࣭ͱ͑ʯͷηοτΛଟͬͯɺʮʯΛֶश͢Δ • ྫ: ೣͱݘͷը૾Λେྔʹͬͯʮݘ͔ೣ͔ʯΛֶश • ֶश݁ՌΛ༻͍ͯਪ • ྫ: ʮ͜ΕೣͰ͔͢ʁʯͱ͍͏࣭ʹʮ͍/͍͍͑ʯͰ͑Δ
• ͜͜·Ͱग़དྷΔΑ͏ʹ͠ͳ͍ͱɺ͋Μ·Γҙຯͳ͍
ֶशͱਪ • ʮ࣭ͱ͑ʯͷηοτΛଟͬͯɺʮʯΛֶश͢Δ • ਅΜதͷʁΛνϡʔχϯά͢Δ࡞ۀ͕ɺֶश
ֶशͱਪ • ʮ࣭ͱ͑ʯͷηοτΛଟͬͯɺʮʯΛֶश͢Δ • ਅΜதͷʁΛνϡʔχϯά͢Δ࡞ۀ͕ɺֶश • νϡʔχϯάࡁΈͷʁΛͬͯ͑ΛಘΔͷ͕ɺਪ
ֶशͱਪ ͬ͘͟Γݴ͏ͱ • ֶश: ʮ࣭ͱ͑ʯͷηοτΛଟͬͯɺʮʯΛֶश͢Δ • ਪ: ʮֶश݁ՌʯΛͱʹ৽͍͠ʮ࣭ʯʹ͑Δ ػցֶशʹ͓͚Δཁ
ͲͷΑ͏ʹֶश
ਂֶश • ओ: χϡʔϥϧωοτϫʔΫ • ਆܦࡉ๔ʢχϡʔϩϯʣͷωοτϫʔΫߏΛਅࣅͨ͠Ϟσϧ • ωοτϫʔΫΛԿॏͶͨͷ͕ਂֶशͰར༻͞ΕΔ
ਂֶश • ओ: χϡʔϥϧωοτϫʔΫ • େͳ܇࿅σʔλͰֶशͤ͞Δͱύλʔϯೝ͕ࣝͰ͖ΔΑ͏ʹͳΔ • إೝࣝɺࣗಈӡసɺ͕Μࡉ๔ͷൃݟɺ…
"*ͰϝϩσΟੜ • ֶश • ਪ
ֶशͷྫ • ֶशσʔλ͔ΒɺίʔυͱϝϩσΟͷؔΛֶͿɻͨͱ͑… ϝϩσΟੜͷ߹
ֶशͷྫ • ֶशσʔλ͔ΒɺίʔυͱϝϩσΟͷؔΛֶͿɻͨͱ͑… ϝϩσΟੜͷ߹
ֶशͷྫ • ֶशσʔλ͔ΒɺίʔυͱϝϩσΟͷؔΛֶͿɻͨͱ͑… ϝϩσΟੜͷ߹ ί ϝ ग़ C C19% C
D 8% C E22% … … …
ֶशͷྫ • ֶशσʔλ͔ΒɺίʔυͱϝϩσΟͷؔΛֶͿɻͨͱ͑… ϝϩσΟੜͷ߹ ίʔυ ϝϩσΟͷԻ ग़ݱ֬ Cϝδϟʔ C 19%
Cϝδϟʔ D 8% Cϝδϟʔ E 22% … … …
ਪͷྫ • ֶश݁ՌΛͱʹɺΛਪཧ͢Δ ϝϩσΟੜͷ߹
ਪͷྫ • ֶश݁ՌΛͱʹɺΛਪཧ͢Δ • ԻԿ͕;͞Θ͍͠ʁ ϝϩσΟੜͷ߹
ਪͷྫ • ֶश݁ՌΛͱʹɺΛਪཧ͢Δ • ԻԿ͕;͞Θ͍͠ʁ • ֶश݁ՌʹΑΕɺ͜ͷͱ͖ɺԻ E Ͱ͋Δ͕֬࠷େ ϝϩσΟੜͷ߹
ίʔυ ϝϩσΟͷԻ ग़ݱ֬ Cϝδϟʔ D 8% Cϝδϟʔ E 22% … … …
ਪͷྫ • ֶश݁ՌΛͱʹɺΛਪཧ͢Δ • ԻԿ͕;͞Θ͍͠ʁ • ֶश݁ՌʹΑΕɺ͜ͷͱ͖ɺԻ E Ͱ͋Δ͕֬࠷େ ϝϩσΟੜͷ߹
• ֶश݁ՌΛͱʹɺΛਪཧ͢Δ • ԻԿ͕;͞Θ͍͠ʁ ਪͷྫ ϝϩσΟੜͷ߹
ػցֶशͱਪ • ίϯϐϡʔλʔʹֶशͱਪΛͬͯΒ͓͏ʂ • ֶश: ʮ࣭ͱ͑ʯͷηοτΛଟͬͯɺʮʯΛֶश͢Δ • ਪ: ʮֶश݁ՌʯΛͱʹ৽͍͠ʮ࣭ʯʹ͑Δ
ֶशͱਪ • ֶशͱਪ͚ͩͰ࡞ۂՄೳ͔ʁ • ʮԻڹͷ৫ԽʯՄೳ͕ͩ… • େऺʹड͚ΔԻָ͕ग़དྷΔ͔ඍົ
ֶशͱਪ • ֶशͱਪ͚ͩͰ࡞ۂՄೳ͔ʁ • େऺʹड͚ΔԻָ͕ग़དྷΔ͔ඍົ • ͳͥɺΠέͯͳ͍ԻָʹͳΔʁ • ֶश࣌ʹԻͷલޙؔʢԻௐۂઢͷใʣ͕ࣦΘΕͯ͠·͏
ֶशͱਪ • ֶशͱਪ͚ͩͰ࡞ۂՄೳ͔ʁ • େऺʹड͚ΔԻָ͕ग़དྷΔ͔ඍົ
3// • ճؼܕχϡʔϥϧωοτϫʔΫ • ࣌ܥྻσʔλͳͲͷ࿈ଓͨ͠σʔλʹ͍͍ͯΔ • खॻ͖จࣈೝࣝɺԻೝࣝɺ༁ɺגՁ༧ଌɺ…
3// • ճؼܕχϡʔϥϧωοτϫʔΫ • ෦ঢ়ଶΛ࣋ͭʢˠ Ҏલਪͨ͠ͱ͖ͷঢ়ଶΛࠓճͷਪͰར༻Ͱ͖Δʣ
3// • ճؼܕχϡʔϥϧωοτϫʔΫ • ෦ঢ়ଶΛ࣋ͭʢˠ Ҏલਪͨ͠ͱ͖ͷঢ়ଶΛࠓճͷਪͰར༻Ͱ͖Δʣ
3// • ճؼܕχϡʔϥϧωοτϫʔΫ • ෦ঢ়ଶΛ࣋ͭʢˠ Ҏલਪͨ͠ͱ͖ͷঢ়ଶΛࠓճͷਪͰར༻Ͱ͖Δʣ
3// • ճؼܕχϡʔϥϧωοτϫʔΫ • ෦ঢ়ଶΛ࣋ͭʢˠ Ҏલਪͨ͠ͱ͖ͷঢ়ଶΛࠓճͷਪͰར༻Ͱ͖Δʣ
3// • ࡞ۂͰͷ͍ॴ • ʮϧʔϧ͚ͩݟΕ E Λஔ͘ͱ͜Ζ͚ͩͲ…?ʯ ?
3// • ࡞ۂͰͷ͍ॴ • ʮϧʔϧ͚ͩݟΕ E Λஔ͘ͱ͜Ζ͚ͩͲɺྲྀΕΛΜͰ D Λஔ͜͏ʯ
-45. • Long Short-Term Memory (ɾظهԱ) • RNNͷͻͱͭͰɺRNNΛ͞Βʹͨ͠ͷ • ैདྷͷRNNֶ͕शஈ֊Ͱ๊͑Δ(ޯരൃ/ফࣦ)Λղܾ
"*ͰϝϩσΟੜ • ֶश • LSTM + ??? → ΑΓྑ͍ਫ਼ʹ •
ਪ
None
• X: ϝϩσΟʔͷԻ + ͦͷ࣌ࠁͷʢԻָใʣ • Y: (ແࢹ)
• Իָใ: Nݸͷ࿈ଓͨ͠ೖྗσʔλ
• Իָใ: Nݸͷ࿈ଓͨ͠ೖྗσʔλ
• Իָใ: Nݸͷ࿈ଓͨ͠ೖྗσʔλ • Z: ଟ࣍ݩϕΫτϧ
• Իָใ: Nݸͷ࿈ଓͨ͠ೖྗσʔλ • Z: ଟ࣍ݩϕΫτϧ
• Իָใ: Nݸͷ࿈ଓͨ͠ೖྗσʔλ • Z: ଟ࣍ݩϕΫτϧʢજࡏ্ۭؒͷ࠲ඪʣ
None
None
None
None
None
None
None
• ग़ྗ݁Ռͱ࠷ॳͷͷޡࠩΛܭࢉ • ޡ͕ࠩখ͘͞ͳΔΑ͏ʹɺʁΛௐ • ޡࠩٯ(όοΫϓϩύήʔγϣϯ)
None
• Իָใ: Nݸͷ࿈ଓͨ͠ೖྗσʔλ • Z: ଟ࣍ݩϕΫτϧ • ԻָใͱϕΫτϧ͕ҰରҰରԠ • ԻָใΛූ߸Խ(encode)ͨ͜͠ͱʹͳΔ
• ٯʹɺZΛԻָใʹ෮߸Խ(decode)Ͱ͖Δ 1:1
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ • ͍Θ෮߸Խ(decode)Ͱ͖Δ
ΦʔτΤϯίʔμ ࣗݾූ߸Խث
ΦʔτΤϯίʔμ ࣗݾූ߸Խث Τϯίʔμ (Encoder) σίʔμ (Decoder)
None
Τϯίʔμ (Encoder)
σίʔμ (Decoder)
ΦʔτΤϯίʔμ ࣗݾූ߸Խث
ΦʔτΤϯίʔμ • χϡʔϥϧωοτϫʔΫΛͬͯಛநग़ͱ࣍ݩݮ͢ΔΞϧΰϦζϜ ࣗݾූ߸Խث
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ • ੨͍࠲ඪ͔Βग़ͯ͘ΔԻָʁ
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ • ੨͍࠲ඪ͔Βग़ͯ͘ΔԻָෆ໌
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ • ੨͍࠲ඪ͔Βग़ͯ͘ΔԻָɺϔϏϝλͷՄೳੑ…
ΦʔτΤϯίʔμ • • ಛ Z ͷϓϩοτແடং ϝϩσΟੜͷ߹
ΦʔτΤϯίʔμ • • ಛ Z ͷϓϩοτແடং • ΧΦεʂ ϝϩσΟੜͷ߹
มΦʔτΤϯίʔμ 7"& • ಛZ͕֬ʹै͏Α͏ʹֶश • Zʹடং͕ੜ·ΕΔ
มΦʔτΤϯίʔμ 7"& • ಛZ͕֬ʹै͏Α͏ʹֶश • Zʹடং͕ੜ·ΕΔ • ZʹϧʔϧɾറΓΛઃఆ͢Δ
มΦʔτΤϯίʔμ 7"& • ಛZ͕֬ʹै͏Α͏ʹֶश • ࿈ଓతͳ͕ಘΒΕΔ • ࣅͨજࡏม͔Βࣅͨग़ྗ݁Ռ • ֶशσʔλʹͳ͍ग़ྗܭࢉՄ
• Zʹடং͕ੜ·ΕΔ
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ • VAEͩͱɺજࡏม͕ࣅ͍ͯΕɺ݁Ռࣅͨײ͡ʹ
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ • VAEͩͱɺ࣮Λʹͭ࠲ඪ͔ΒԻָΛܭࢉͰ͖Δ
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ • VAEͩͱɺʮ͋ͷϝϩσΟͱ͜ͷϝϩσΟͷؒʹ͋ΔۂʯܭࢉՄೳ
• જࡏ্ۭؒͷ࠲ඪΛબͿͱɺରԠͨ͠Իָ͕औΓग़ͤΔ • VAEͩͱɺʮ͋ͷϝϩσΟͱ͜ͷϝϩσΟͷؒʹ͋ΔۂʯܭࢉՄೳ
มΦʔτΤϯίʔμ 7"& • ಛZ͕֬ʹै͏Α͏ʹֶश • Xͱ͍͍ײ͡ʹࣅͨग़ྗX’
มΦʔτΤϯίʔμ 7"& • ಛZ͕֬ʹै͏Α͏ʹֶश • Xͱ͍͍ײ͡ʹࣅͨग़ྗX’ • ʹϝϩσΟΛิͰ͖Δ
• X: Իָใ(ϝϩσΟ + )
None
• A: Իָใ (ͷΈ) डཧʂ
• A: Իָใ (ͷΈ) ( ࿅शશ෦ɺϝϩσΟͱ͕ηοτʹͳͬͯͨͳ…)
• A: Իָใ (ͷΈ), X: Իָใ (ϝϩσΟ + )
• A: Իָใ (ͷΈ), X: Իָใ (ϝϩσΟ + ) ͜ͷੈʹ͚ͩͷۂ͕
͋Δ͕ͣͳ͍ʂ
• A: Իָใ (ͷΈ), X: Իָใ (ϝϩσΟ + )
• A: Իָใ (ͷΈ), X: Իָใ (ϝϩσΟ + )
• A: Իָใ (ͷΈ), X: Իָใ (ϝϩσΟ + ) •
X - A = ϝϩσΟ
• ʹ͋ΘͤͯɺओટΛੜ͢Δॲཧ • Input: ίʔυใ, output: ϝϩσΟ "*ͰϝϩσΟੜ
"*ͰϝϩσΟੜ • ࣮ɺ͜ͷLSTM-VAEΛԠ༻ͨ͠ख๏… • AI࡞ۂίϯςετʮหࡒఱʯͰ࣮ࡍʹΘΕͨख๏
• AI࡞ۂίϯςετʮหࡒఱʯͰ࣮ࡍʹΘΕͨख๏ • ࣮ࡍʹࢼ͍ͨ͠ํͥͻหࡒఱެࣜαΠτʂ • αϯϓϧίʔυɺ͋Γ·͢ʂ • ʮหࡒఱ AIʯ·ͨʮAIϛϡʔδοΫότϧ หࡒఱʯͰݕࡧʂ
"*ͰϝϩσΟੜ
• หࡒఱ20232݄ʹୈ̍ճେձΛ։࠵ • ্ҐͷϓϩάϥϜɺϧʔϧϕʔεͰͷमਖ਼͕ՃΘ͍ͬͯΔ • ਪ݁ՌͷԻௐۂઢ͕มԽ͠ͳ͍ఔʹԻఔΛิਖ਼͍ͯ͠Δ "*ͰϝϩσΟੜ
• หࡒఱ20232݄ʹୈ̍ճେձΛ։࠵ • ্ҐͷϓϩάϥϜɺϧʔϧϕʔεͰͷमਖ਼͕ՃΘ͍ͬͯΔ • ਪ݁ՌͷԻௐۂઢ͕มԽ͠ͳ͍ఔʹԻఔΛิਖ਼͍ͯ͠Δ • େऺԻָͷࣗಈੜʹ͓͍ͯɺࢥͬͨҎ্ʹϧʔϧϕʔεఆ͕ॏཁʁ "*ͰϝϩσΟੜ
AIͱ࡞ۂ
"*ͱ࡞ۂ • Իڹͷ৫ԽΛࣗಈԽ͢Δ͜ͱʹؔͯ͠ɺͦͷΦʔσΟΤϯεʹґଘ • େऺԻָܦݧతΤοηϯε͕ଟ͘ɺΫϥγοΫۂΑΓੜ͕͍͠ • ػցֶशʹΑΔେऺԻָͷੜଟ͘ͷࢼΈ͕͋Δ • LSTMVAEΛԠ༻ͨ͠ڻ͖͘ख๏ͰੜՄೳ •
ͨͩ͠ɺϧʔϧϕʔεΞϧΰϦζϜͷधཁґવڧ͍ • ਓྗ͔Βͷ٫·ͩԕ͍
1. ࡞ۂ ͱԿͰ͔͋ͬͨ 2. AIͱ࡞ۂ 3. iOSͱࣗಈ࡞ۂ 5BCMFPG$POUFOUT
iOSͱࣗಈ࡞ۂ
J04ͱࣗಈ࡞ۂ ͜Ε·Ͱͷ༰͔Β… • ΫϥγοΫۂΛ࡞Γ͍ͨ߹ • ϧʔϧϕʔεͰαϯυΛ৫Խ • େऺԻָΛ࡞Γ͍ͨ߹ • ϧʔϧϕʔε
+ ܦݧతΤοηϯεͷਪ
ϧʔϧϕʔεͷ৫Խ ※ ΠϝʔδͰ͢
ϧʔϧϕʔεͷ৫Խ ※ ΠϝʔδͰ͢
ͷग़య: AIϛϡʔδοΫότϧʂʰหࡒఱʱ https://drive.google.com/ f ile/d/1arGB0M7Z_iTf4vi4yE5vkaIyR5vdWhkt/view?usp=drive_link ࡞ۂ: ࢦϤγΩ
※ ΠϝʔδͰ͢
ͷग़య: AIϛϡʔδοΫότϧʂʰหࡒఱʱ https://drive.google.com/ f ile/d/1arGB0M7Z_iTf4vi4yE5vkaIyR5vdWhkt/view?usp=drive_link ࡞ۂ: ࢦϤγΩ
Ͳ͏Ͱͨ͠ʁ
Ϟσϧʹجͮ͘ਪ • CoreML • Tensor Flow Lite • PyTorch Mobile
/ TorchScript iOSͷ߹
$PSF.-ʹΑΔਪ • iOS্Ͱར༻Մೳͳ mlmodel Λ༻ҙͰ͖Εਪ͕Մೳ
$PSF.-ʹΑΔਪ • iOS্Ͱར༻Մೳͳ mlmodel Λ༻ҙͰ͖Εਪ͕Մೳ • ϞσϧΛࣗ࡞͢Δ(CreateML) • ϞσϧΛ֎෦͔Β࣋ͬͯ͘Δ
ϞσϧΛࣗ࡞͢Δ $SFBUF.- • ͞·͟·ͳϞσϧλΠϓ • ը૾ • ςΩετ • Ϟʔγϣϯ
• දܗࣜσʔλ • … https://developer.apple.com/jp/machine-learning/create-ml/
ϞσϧΛࣗ࡞͢Δ $SFBUF.- • දܗࣜσʔλ • ճؼੳ͕ՄೳʢMLRegressorʣ • LSTMωοτϫʔΫͬΆ͍ͷΛ࠶ݱՄೳʁ • ̎ͭॏͶͯVAEʁʁ
https://developer.apple.com/jp/machine-learning/create-ml/
ϞσϧΛࣗ࡞͢Δ $SFBUF.- • ݱঢ়CreateMLͰRNNͦ͠͏ • χϡʔϥϧωοτϫʔΫͷαϙʔτݴٴͳ͠ • CoreMLαϙʔτࡁΈ • ͓ͦΒ͘֎෦͔Βimport͢Δલఏʁ
طଘϞσϧΛͬͨਪ • ԿΒ͔ͷํ๏ͰϞσϧͷม͕ඞཁ • ࠷ۙ Apple ͔Β coremltools ͕ެ։͞Ε͍ͯΔ •
KerasͰ࡞ͬͨϞσϧΛCoreMLͰ͑ΔΑ͏ʹ
طଘϞσϧΛͬͨਪ • ԿΒ͔ͷํ๏ͰϞσϧͷม͕ඞཁ • ࠷ۙ Apple ͔Β coremltools ͕ެ։͞Ε͍ͯΔ
طଘϞσϧΛͬͨਪ • ԿΒ͔ͷํ๏ͰϞσϧͷม͕ඞཁ • ࠷ۙ Apple ͔Β coremltools ͕ެ։͞Ε͍ͯΔ
طଘϞσϧΛͬͨਪ • ԿΒ͔ͷํ๏ͰϞσϧͷม͕ඞཁ • ࠷ۙ Apple ͔Β coremltools ͕ެ։͞Ε͍ͯΔ •
͢ΜͳΓมͰ͖Δ͜ͱ͋·Γͳ͍ • Unknown layer • NotImplementedError
طଘϞσϧΛͬͨਪ • ԿΒ͔ͷํ๏ͰϞσϧͷม͕ඞཁ • ࠷ۙ Apple ͔Β coremltools ͕ެ։͞Ε͍ͯΔ •
͢ΜͳΓมͰ͖Δ͜ͱ͋·Γͳ͍ • CreateMLΑΓἚͷಓ͔
࣮͠ݱ͢Δͱ…
ͷग़య: AIϛϡʔδοΫότϧʂʰหࡒఱʱ https://drive.google.com/ f ile/d/1arGB0M7Z_iTf4vi4yE5vkaIyR5vdWhkt/view?usp=drive_link ࡞ۂ: ࢦϤγΩ
ਖ਼͍·͍ͪ…
• ϧʔϧϕʔε͚ͩɺAI͚ͩɺͱ͍͏ͷඍົ • ࠓͷͱ͜Ζɺ྆ऀΛΈ߹Θͤͳ͍ͱ্࣭͕͕Βͳ͍ҹ
iOSͱࣗಈ࡞ۂ
J04ͱࣗಈ࡞ۂ • ݹయతͳۂΛٻΊΔͳΒɺΰʔϧ͍ۙ • Իڹͷ৫ԽΞϧΰϦζϜ͚ͩͰఔରԠՄೳ • େऺԻָΛٻΊΔͳΒɺΰʔϧগ͠ԕ͍ • ػցֶशΛར༻Ͱ͖Δڥ͋Δ •
·ͩेʹฮ͞Ε͍ͯΔͱݴ͑ͳ͍
8SBQVQ ·ͱΊ 1. ࡞ۂͱԿͰ͔͋ͬͨ • ௌऺͷΈʹ߹ΘͤͯɺԻڹΛఆٛͯ͠৫Խ͢Δ͜ͱ 2. AIͱ࡞ۂ • େऺԻָͷܦݧతͳΤοηϯεΛऔΓೖΕΔʹػցֶश
• LSTM + VAE ʹΑΔϝϩσΟੜೖʹ࠷ద 3. iOSͱࣗಈ࡞ۂ • ࡞ۂΛͱΓ·͘ػցֶशڥࣗମ·ͩൃల్্ͷҹ • ͨͩ͠ϧʔϧϕʔεΞϧΰϦζϜͷΧόʔྖҬͰ࡞ۂՄೳ
"QQFOEJY • About Me • log5(X: @log5) • About Benzaiten
• https://benzaiten.studio.site/