Slide 1

Slide 1 text

ػցֶशΛ࢖ͬͨαʔϏεͷ ϓϩμΫγϣϯίʔυΛॻ͘࿩ PKSHA Technology ౔԰ ༞Ұ࿠

Slide 2

Slide 2 text

I am… ౔԰༞Ұ࿠ yuichiroTCY • ~2016/03 2015೥౓IPAະ౿ (εʔύʔΫϦΤʔλ) • 2016/07~ PKSHA Technology • BEDORE։ൃνʔϜ ର࿩Τϯδϯ୲౰ ػցֶश / Web / ૊ΈࠐΈ etc…

Slide 3

Slide 3 text

What’s BEDORE? νϟοτʹΑΔAIҰ࣍Ԡ౴Λ࣮ࢪ
 ΦϖϨʔλʔͱ૊Έ߹Θͤɺ
 ߴ඼࣭௿ίετରԠ Ի੠ղੳπʔϧͱ࿈ܞͨ͠
 ΦϖϨʔλʔͷφϨοδαϙʔτ Web্ͷFAQϖʔδʹ
 AIΤʔδΣϯτΛઃஔ͠ɺ
 ࣗݾղܾ཰޲্ ೔ຊޠʹಛԽͨ͠ର࿩ΤϯδϯͰ͢ɻ νϟοτ΍ΦϖϨʔλʔαϙʔτͷྖҬͰ͝׆༻͍͍͍ͨͩͯ·͢ɻ େखϝσΟΞاۀ༷ɺେखECاۀ༷ͳͲɺ෯޿͘ಋೖ௖͍͓ͯΓ·͢

Slide 4

Slide 4 text

ػցֶशΛ࢖ͬͨαʔϏεΛ ͭ͘Δͱ͖…

Slide 5

Slide 5 text

ΞϧΰϦζϜΤϯδχΞ / ιϑτ΢ΣΞΤϯδχΞ ιϑτ΢ΣΞΤϯδχΞ ΞϧΰϦζϜΤϯδχΞ ʮػցֶशΛ࢖ͬͯ̋̋Λͭ͘Δͧʂʯ ࿦จ ࣮ݧ ઃܭ ӡ༻ https://iconsmind.com/

Slide 6

Slide 6 text

ͲͪΒ΋େࣄ ॊೈੑͷ͋Δ ઃܭʹ͠Α͏ ͜ͷ࿦จͷख๏ ྑͦ͞͏ʂ ࣮ݧͯ͠ ͍͍݁Ռग़ͨʂ ਫ਼౓্͛ΔͨΊ ৽ख๏ࢼͦ͏ ιϑτ΢ΣΞͷ ඼࣭Λอͭʹ͸ʜ (PBM ͜ΜͳαʔϏεΛ Ϣʔβʔʹಧ͚͍ͨ

Slide 7

Slide 7 text

ΞϧΰϦζϜ / ιϑτ΢ΣΞΤϯδχΞͷ͍͋ͩ ιϑτ΢ΣΞΤϯδχΞ ΞϧΰϦζϜΤϯδχΞ ʮػցֶशΛ࢖ͬͯ̋̋Λͭ͘Δͧʂʯ ࿦จ ࣮ݧ ઃܭ ӡ༻ https://iconsmind.com/

Slide 8

Slide 8 text

ࠓ೔࿩͢͜ͱ ιϑτ΢ΣΞ ΤϯδχΞ ΞϧΰϦζϜ ΤϯδχΞ • ػցֶशαʔϏεͷϓϩμΫγϣϯߏ੒ͷҰྫ ✴ Πϯϑϥ ✴ γεςϜઃܭ • ΞϧΰϦζϜ / ιϑτ΢ΣΞΤϯδχΞͷք໘Λ
 ͍͔ʹͯ͠ઃܭ͢Δ͔ ✴ ιʔείʔυ ✴ ςετ ✴ ૊৫ ίίʂ

Slide 9

Slide 9 text

BEDOREγεςϜͷ֓ཁ

Slide 10

Slide 10 text

BEDOREͷର࿩γεςϜུ֓ #&%03&TZTUFN API Gateway Web Interface Reply server Database ΞΧ΢ϯτ Φʔφʔ \lSFRVFTUzl#&%03&ͬͯͳʹʁz^ ˣ \lSFTQPOTFzl͋ͳͨͷ͓ख఻͍Λ
 ͍ͤͯͨͩ͘͞ձ࿩ΤϯδϯͰ͢ʂz^ ֎෦API

Slide 11

Slide 11 text

Reply αʔό 3FQMZTFSWJDF લॲཧ ֎෦"1*ίʔϧ ػցֶश ϧʔϧϕʔε ग़ྗੜ੒  Web API Interface

Slide 12

Slide 12 text

͜ΜͳཁٻΛຬͨ͢ίʔυΛͲ͏ॻ͚͹ྑ͍ΜͩΖ͏ʁ • ػցֶशॲཧ / ϧʔϧϕʔεॲཧ / ֎෦APIݺͼग़͠
 ͳͲΛڠௐͤ͞Δ

Slide 13

Slide 13 text

BEDOREͷର࿩γεςϜུ֓ʢ࠶ܝʣ #&%03&TZTUFN API Gateway Web Interface Database ΞΧ΢ϯτ Φʔφʔ Reply server ֎෦API

Slide 14

Slide 14 text

ΞΧ΢ϯτ Φʔφʔ ֶशαʔό͸෼͚Δ #&%03&TZTUFN API Gateway Web Interface Database Learning servers Invoke Save models Storage Load models Training Prediction ୹࣌ؒɾߴෛՙ ৗ࣌ɾ௿ʙதෛՙ ฒྻ࣮ߦ ଱ো֐ੑ Reply server ֎෦API

Slide 15

Slide 15 text

͜ΜͳཁٻΛຬͨ͢ίʔυΛͲ͏ॻ͚͹ྑ͍ΜͩΖ͏ʁ • ػցֶशॲཧ / ϧʔϧϕʔεॲཧ / ֎෦APIݺͼग़͠
 ͳͲΛڠௐͤ͞Δ • ReplyαʔόͱֶशαʔόΛ෼͚Δ ੡඼ͱͯ͠… • ػೳ֦ுɾอक͸༰қʹ • όά͸ग़͞ͳ͍ • ਫ਼౓޲্ͷͨΊߴ଎ʹࢼߦࡨޡ

Slide 16

Slide 16 text

ػցֶशγεςϜͷઃܭ

Slide 17

Slide 17 text

ʢࢀߟʣ http://www.slideshare.net/takahirokubo7792/ss-65413290 icoxfog417ࢯʮػցֶशͰٽ͔ͳ͍ͨΊͷίʔυઃܭʯ

Slide 18

Slide 18 text

BEDOREࣜɾػցֶशσβΠϯύλʔϯʢҊʣ .PEFM 5SBJOFS %BUB1SPWJEFS

Slide 19

Slide 19 text

BEDOREࣜɾػցֶशσβΠϯύλʔϯʢҊʣ .PEFM .FUIPET w QSFQSPDFTT  w USBJO  w QSFEJDU  w TBWF  w SFTUPSF 1BSBNT ྫ  w IJEEFO@MBZFST w ESPQPVU FUDʜ 5SBJOFS 1BSBNT ྫ  w O@TUFQT w PQUJNJ[FS FUDʜ .FUIPET w USBJO %BUB1SPWJEFS .FUIPET w HFU@USBJOJOH@EBUB ʢྫɿNeural NetworksΛ࢖ͬͨϞσϧͷ৔߹ʣ

Slide 20

Slide 20 text

੹຿Λ෼཭͢Δ • Model • train, predict, preprocess, save, restore
 ͱ͍͏ΠϯλϑΣʔε͚ͩఆΊΔ • த਎͸ΞϧΰϦζϜΤϯδχΞ୲౰ • DataProvider • ֶशσʔλΛఏڙ͢Δget_training_dataͱ͍͏ΠϯλϑΣʔε͚ͩ ఆΊΔ • DB͔ΒಡΜͰ΋APIୟ͍ͯ΋CSVಡΜͰ΋OKɻ࢖͏ଆ͸ؔ஌͠ͳ͍ • Trainer • DataProvider͔ΒֶशσʔλΛऔಘͯ͠ɺ
 ֶशύϥϝʔλͱҰॹʹModelΫϥεͷtrain()ʹ౉͚ͩ͢

Slide 21

Slide 21 text

Training .PEFM .FUIPET w QSFQSPDFTT  w USBJO  w QSFEJDU  w TBWF  w SFTUPSF 1BSBNT ྫ  w IJEEFO@MBZFST w ESPQPVU FUDʜ 5SBJOFS 1BSBNT ྫ  w O@TUFQT w PQUJNJ[FS FUDʜ .FUIPET w USBJO data_provider = DataProvider() trainer = Trainer(data_provider, train_params) model = Model(model_params) trainer.train(model) model.save(‘path/to/save’) %BUB1SPWJEFS .FUIPET w HFU@USBJOJOH@EBUB w %BUB1SPWJEFSHFU@USBJOJOH@EBUB ͔Β
 ֶशσʔλΛऔಘ͠ɺ w .PEFMUSBJO Λݺͼग़ͯ͠౉͢ɻ w ड͚औͬͨσʔλΛ
 QSFQSPDFTT Ͱલॲཧ͠ɺ w ֶशΛߦ͏

Slide 22

Slide 22 text

Prediction .PEFM .FUIPET w QSFQSPDFTT  w USBJO  w QSFEJDU  w TBWF  w SFTUPSF 1BSBNT ྫ  w IJEEFO@MBZFST w ESPQPVU FUDʜ 5SBJOFS 1BSBNT ྫ  w O@TUFQT w PQUJNJ[FS FUDʜ .FUIPET w USBJO model = Model.restore(‘path/to/load’) result = model.predict(‘Hello, BEDORE!’) %BUB1SPWJEFS .FUIPET w HFU@USBJOJOH@EBUB w ड͚औͬͨσʔλΛ
 QSFQSPDFTT Ͱલॲཧ͠ɺ w ࣝผΛߦ͏

Slide 23

Slide 23 text

ModelͷՄൖੑ .PEFM 1BSBNT ྫ  w IJEEFO@MBZFST w ESPQPVU FUDʜ 5SBJOFENPEFM w /FUXPSLQBSBNFUFST FUDʜ save() .PEFM 1BSBNT ྫ  w IJEEFO@MBZFST w ESPQPVU FUDʜ 5SBJOFENPEFM w /FUXPSLQBSBNFUFST FUDʜ restore()

Slide 24

Slide 24 text

ModelͷՄൖੑ .PEFM 1BSBNT ྫ  w IJEEFO@MBZFST w ESPQPVU FUDʜ 5SBJOFENPEFM w /FUXPSLQBSBNFUFST FUDʜ save() .PEFM 1BSBNT ྫ  w IJEEFO@MBZFST w ESPQPVU FUDʜ 5SBJOFENPEFM w /FUXPSLQBSBNFUFST FUDʜ restore() TBWF SFTUPSF  w .PEFMΫϥε͕࣋ͭ͋ΒΏΔύϥϝʔλ
 ʢϋΠύʔύϥϝʔλɾֶशࡁΈϞσϧɾલॲཧ༻ࣙॻͳͲʣΛ
 ̍σΟϨΫτϦʹύοΫˍϦετΞ w 1JDLMFͳͲͷγϦΞϥΠβ΍
 ϥΠϒϥϦ 5FOTPS'MPXͳͲ ͷTBWFSFTUPSFΛ׆༻

Slide 25

Slide 25 text

BEDOREγεςϜʹ͓͚ΔModelϑΝΠϧͷऔΓճ͠ #&%03&TZTUFN API Gateway Web Interface Database Learning servers Invoke Save models Storage Load models ֶश͸ઐ༻αʔόͰߦ͍ɺ
 ֶशࡁϞσϧ ϑΥϧμݸʂ Λ
 4UPSBHFʹอଘɺ 3FQMZαʔόʹϩʔυ͢Δɻ w ෛՙͷେֶ͖͍शॲཧ
 ʹઐ༻ͷߴՐྗΠϯελϯε
 ɹΛεϙοτతʹ࢖༻ w աڈͷϞσϧ͸શͯอଘ͞ΕΔ
 ʹϩʔϧόοΫՄೳ Reply server

Slide 26

Slide 26 text

࣮ݧ΋ָʹ .PEFM .FUIPET w QSFQSPDFTT  w USBJO  w QSFEJDU  w TBWF  w SFTUPSF 1BSBNT ྫ  w IJEEFO@MBZFST w ESPQPVU FUDʜ 5SBJOFS 1BSBNT ྫ  w O@TUFQT w PQUJNJ[FS FUDʜ .FUIPET w USBJO  w FWBM %BUB1SPWJEFS .FUIPET w HFU@USBJOJOH@EBUB 1. DataProvider.get_training_data()͔ΒಘΒΕͨσʔλΛtrain / testʹ෼͚Δ 2. Model.train()Ͱֶश͢Δ 3. Model.predict()Ͱςετ͢Δ

Slide 27

Slide 27 text

࣮ݧ΋ϓϩμΫγϣϯͷֶशͱಉ༷ͷॲཧɾΠϯϑϥͰ #&%03&TZTUFN Web Interface Database Experiment servers Invoke Save models Storage ࣮ݧ΋ֶशαʔόͱಉ༷ʹ
 ΦϯσϚϯυΠϯελϯεͰ w σʔλಡΈࠐΈॲཧ౳͸
 ֶशͱಉ͡΋ͷΛར༻
 ʹϩδοΫ΍ύϥϝʔλͷ
 ɹมߋʹઐ೦
 ʹσʔλ͸ຊ൪ͱಉ͡΋ͷ Reply server

Slide 28

Slide 28 text

.PEFM Model mixins ػցֶशͷຊ࣭Ͱ͸ͳ͍͕ศརͳػೳ͸
 Mixinͱͯࠩ͠͠ࠐΊΔΑ͏ʹ͓ͯ͘͠ .JYJO .FUIPET w QSFQSPDFTT  w USBJO  w QSFEJDU  w TBWF  w SFTUPSF 1BSBNT w IJEEFO@MBZFST w ESPQPVU FUDʜ .JYJO .JYJO

Slide 29

Slide 29 text

Model mixins • Label Transformer • ೚ҙͷ؅ཧIDΛ࿈൪ͷIntegerʹม׵ • Cache Loader • restore() ʹΩϟογϡػೳΛ෇͚Δ Mixinͱͯ͠༻ҙ͓ͯ͘͠ͱศརͩͬͨػೳͷྫ

Slide 30

Slide 30 text

ModelͷΧϓηϧԽ • தͷ೉͍͜͠ͱ͸ΞϧΰϦζϜΤϯδχΞʹ
 ͓Ͷ͕͍͢Δ • தͰAPIΛݺ΅͏͕Կ͠Α͏͕OK • ֎෦ʹAPIΛ࣮૷͠ɺModel͸ͦΕΛݺͿϥούʔʹ ప͢Δͱ͔

Slide 31

Slide 31 text

ModelͷΧϓηϧԽ • train, predict, save, restore (, preprocess) ͕
 ࢖͑Ε͹ྑ͍ • ΠϯλϑΣʔε෦෼͸
 ιϑτ΢ΣΞ / ΞϧΰϦζϜΤϯδχΞͷ
 ڠۀ͕ඞཁ͔΋

Slide 32

Slide 32 text

ςετՄೳੑ ςετͷͳ͍ίʔυ͸੡඼ʹͰ͖ͳ͍ ʮςετͷແ͍ίʔυ͸ϨΨγʔίʔυʯ http://www.shoeisha.co.jp/book/detail/9784798116839 https://www.amazon.co.jp/exec/obidos/ASIN/4894717115/hatena-blog-22/

Slide 33

Slide 33 text

ςετՄೳੑ ςετͷͳ͍ίʔυ͸੡඼ʹͰ͖ͳ͍ ʮςετͷແ͍ίʔυ͸ϨΨγʔίʔυʯ ModelΫϥεͷ੾Γ෼͚ʹΑͬͯ ૄ݁߹㱺ςετՄೳੑUP • ModelΫϥεΛMockͯ͠ଞίϯϙʔωϯτΛςετ • ModelΫϥε͕୲͏ػցֶशͷ”ςετ”ʹਫ਼౓ධՁ΋
 ୯ମͰ࣮ߦՄೳ

Slide 34

Slide 34 text

3FQMZTFSWJDF ΞϧΰϦζϜΤϯδχΞ / ιϑτ΢ΣΞΤϯδχΞ ModelΫϥεͷ੹຿ͷ෼཭ʹ྆ऀͷ੹຿ͷ෼཭ .PEFM QSFQSPDFTT USBJO QSFEJDU TBWF SFTUPSF ιϑτ΢ΣΞ ΤϯδχΞ https://iconsmind.com/ ΞϧΰϦζϜ ΤϯδχΞ

Slide 35

Slide 35 text

ػցֶशϓϩμΫτͷνʔϜ ιϑτ΢ΣΞΤϯδχΞ ΞϧΰϦζϜΤϯδχΞ อकੑ ҆ఆੑ ֦ுੑ ࣮ߦޮ཰ ࣮ݧ ݚڀ։ൃ ࠷৽ख๏΁ͷཧղ ઃܭ

Slide 36

Slide 36 text

·ͱΊ ద੾ͳ • ίʔυͷઃܭ • ੹຿ͷ੾Γ෼͚ ʹΑͬͯɺ ΞϧΰϦζϜ / ιϑτ΢ΣΞΤϯδχΞ͕ڠྗͯ͠ ߴ඼࣭ɾߴੑೳͳϓϩμΫτΛ
 σϦόϦʔͰ͖ΔΑ͏ʹ͠Α͏

Slide 37

Slide 37 text

Ξ ϧ ΰ Ϧ ζ Ϝ Τ ϯ δ χ Ξ ื ू த ͝ڵຯ͕͋Δํ͸ࢲ΁ɺ·ͨ͸Wantedly͔Β͝࿈བྷ͍ͩ͘͞

Slide 38

Slide 38 text

͝ڵຯ͕͋Δํ͸ࢲ΁ɺ·ͨ͸Wantedly͔Β͝࿈བྷ͍ͩ͘͞ https://www.wantedly.com/projects/75747