diff --git a/docs/document.aux b/docs/document.aux index 2b3ca5f..672bce8 100644 --- a/docs/document.aux +++ b/docs/document.aux @@ -30,17 +30,17 @@ \newlabel{section:linreg}{{1.3}{17}} \@writefile{lof}{\contentsline {figure}{\numberline {1.3}{\ignorespaces Regresja liniowa jako model sieci neuronowej\relax }}{17}\protected@file@percent } \newlabel{fig:neural_model_one}{{1.3}{17}} -\@writefile{lof}{\contentsline {figure}{\numberline {1.4}{\ignorespaces Regresja liniowa wielu zmiennych jako model sieci nauronowe.j\relax }}{18}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1.4}{\ignorespaces Regresja liniowa wielu zmiennych jako model sieci nauronowej\relax }}{18}\protected@file@percent } \newlabel{fig:neural_model_multi}{{1.4}{18}} \citation{deep_learning} \@writefile{toc}{\contentsline {section}{\numberline {1.4\relax .\leavevmode@ifvmode \kern .5em }Funkcje aktywacji}{19}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {1.5}{\ignorespaces Funkcja logistyczna\relax }}{19}\protected@file@percent } -\newlabel{fig:sigmoid}{{1.5}{19}} +\@writefile{toc}{\contentsline {section}{\numberline {1.5\relax .\leavevmode@ifvmode \kern .5em }Wielowarstwowe sieci neuronowe}{19}\protected@file@percent } \citation{survay} -\@writefile{toc}{\contentsline {section}{\numberline {1.5\relax .\leavevmode@ifvmode \kern .5em }G\IeC {\l }\IeC {\k e}bokie sieci neuronowe}{20}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1.5}{\ignorespaces Funkcja logistyczna\relax }}{20}\protected@file@percent } +\newlabel{fig:sigmoid}{{1.5}{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.5.1\relax .\leavevmode@ifvmode \kern .5em }Jednokierunkowe sieci neuronowe}{20}\protected@file@percent } \newlabel{section:feedforeward}{{1.5.1}{20}} -\@writefile{lof}{\contentsline {figure}{\numberline {1.6}{\ignorespaces Przyk\IeC {\l }ad modelu sieci neuronowej\relax }}{21}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1.6}{\ignorespaces Przyk\IeC {\l }ad modelu wielowarstwowej sieci neuronowej\relax }}{21}\protected@file@percent } \newlabel{fig:neural_net_1}{{1.6}{21}} \newlabel{section:backpropagation}{{1.5.1}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.5.2\relax .\leavevmode@ifvmode \kern .5em }Autoencodery}{21}\protected@file@percent } @@ -53,15 +53,17 @@ \@writefile{lof}{\contentsline {figure}{\numberline {1.8}{\ignorespaces Rekurencyjny neuron (po lewej) odwini\IeC {\k e}ty w czasie (po prawej)\relax }}{23}\protected@file@percent } \newlabel{fig:autoencoder}{{1.8}{23}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.5.4\relax .\leavevmode@ifvmode \kern .5em }LSTM}{23}\protected@file@percent } -\citation{handson} \@writefile{lof}{\contentsline {figure}{\numberline {1.9}{\ignorespaces Kom\IeC {\'o}rka LSTM\relax }}{24}\protected@file@percent } \newlabel{fig:lstm}{{1.9}{24}} +\citation{handson} \citation{seq2seq} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.5.5\relax .\leavevmode@ifvmode \kern .5em }Sequance-to-sequance}{25}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {1.10}{\ignorespaces Architektura modelu sequance-to-sequance\relax }}{25}\protected@file@percent } -\newlabel{fig:seq2seq}{{1.10}{25}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.10}{\ignorespaces Tangens hiperboliczny\relax }}{25}\protected@file@percent } +\newlabel{fig:tanh}{{1.10}{25}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.5.5\relax .\leavevmode@ifvmode \kern .5em }Sequence-to-sequence}{25}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1.11}{\ignorespaces Architektura modelu sequance-to-sequance\relax }}{26}\protected@file@percent } +\newlabel{fig:seq2seq}{{1.11}{26}} \citation{tempos} -\@writefile{toc}{\contentsline {chapter}{Rozdzia\PlPrIeC {\l }\ 2\relax .\leavevmode@ifvmode \kern .5em Reprezentacja danych muzycznych}{27}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{Rozdzia\PlPrIeC {\l }\ 2\relax .\leavevmode@ifvmode \kern .5em Wprowadzenie do teorii muzyki}{27}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {2.1\relax .\leavevmode@ifvmode \kern .5em }Podstawowe koncepcje}{27}\protected@file@percent } @@ -70,15 +72,14 @@ \@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3\relax .\leavevmode@ifvmode \kern .5em }Zapis nutowy}{27}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Przyk\IeC {\l }ad przebiegu fali d\IeC {\'z}wi\IeC {\k e}kowej\relax }}{28}\protected@file@percent } \newlabel{fig:waveform}{{2.1}{28}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces \IeC {\'z}r\IeC {\'o}dlo: https://www.infomusic.pl/poradnik/46934,poradnik-teoria-muzyki-rytm 5 kwietnia 2020 12:46\relax }}{29}\protected@file@percent } \newlabel{fig:waveform}{{2.2}{29}} \@writefile{lot}{\contentsline {table}{\numberline {2.1}{\ignorespaces D\IeC {\'z}wi\IeC {\k e}ki symboliczne oraz ich cz\IeC {\k e}stosliwo\IeC {\'s}ci\relax }}{29}\protected@file@percent } \newlabel{table:dzwieki}{{2.1}{29}} \@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces \IeC {\'z}r\IeC {\'o}dlo: https://amplitudaschool.weebly.com/lekcja-11.html 5 kwietnia 2020 13:24\relax }}{30}\protected@file@percent } \newlabel{fig:pieciolinia}{{2.3}{30}} \newlabel{section:skala}{{2.1.3}{30}} -\@writefile{toc}{\contentsline {section}{\numberline {2.2\relax .\leavevmode@ifvmode \kern .5em }Cyfrowa reprezentacja muzyki symbolicznej}{30}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1\relax .\leavevmode@ifvmode \kern .5em }Standard MIDI}{30}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.2\relax .\leavevmode@ifvmode \kern .5em }Cyfrowa reprezentacja muzyki symbolicznej}{31}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1\relax .\leavevmode@ifvmode \kern .5em }Standard MIDI}{31}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Fragment protoko\IeC {\l }u MIDI\relax }}{31}\protected@file@percent } \@writefile{toc}{\contentsline {chapter}{Rozdzia\PlPrIeC {\l }\ 3\relax .\leavevmode@ifvmode \kern .5em Projekt}{33}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} diff --git a/docs/document.fdb_latexmk b/docs/document.fdb_latexmk index b2e6393..2c71d4c 100644 --- a/docs/document.fdb_latexmk +++ b/docs/document.fdb_latexmk @@ -1,10 +1,10 @@ # Fdb version 3 -["makeindex document.idx"] 1590736609 "document.idx" "document.ind" "document" 1590737695 - "document.idx" 1590737508 0 d41d8cd98f00b204e9800998ecf8427e "" +["makeindex document.idx"] 1590745558 "document.idx" "document.ind" "document" 1590745699 + "document.idx" 1590745646 0 d41d8cd98f00b204e9800998ecf8427e "" (generated) "document.ilg" "document.ind" -["pdflatex"] 1590737508 "j:/_MAGISTERKA/praca-magisterska/docs/document.tex" "j:/_MAGISTERKA/praca-magisterska/docs/document.pdf" "document" 1590737695 +["pdflatex"] 1590745645 "j:/_MAGISTERKA/praca-magisterska/docs/document.tex" "j:/_MAGISTERKA/praca-magisterska/docs/document.pdf" "document" 1590745699 "c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plit.enc" 1550775191 1946 62ba825cda1ff16dbaa60d53ac60525a "" "c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plme.enc" 1550775191 3126 59f33ff3e396436ebc36f4e7b444d5c4 "" "c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plmi.enc" 1550775191 2005 f094775651a1386335c158fb632529f1 "" @@ -13,43 +13,64 @@ "c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plsc.enc" 1550775191 1970 17f08459267325f59652d212eb7ed719 "" "c:/software/latex/texmf-dist/fonts/enc/dvips/pl/pltt.enc" 1550775191 1971 0a4e750f2a9cb8345529a19560d48a96 "" "c:/software/latex/texmf-dist/fonts/map/fontname/texfonts.map" 1550773738 3332 103109f5612ad95229751940c61aada0 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1550772674 1004 54797486969f23fa377b128694d548df "" + "c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1550772674 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 "" "c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1550772674 916 f87d7c45f9c908e672703b83b72241a3 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1550772674 924 9904cf1d39e9767e7a3622f2a125a565 "" "c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1550772674 928 2dc8d444221b7a635bb58038579b861a "" "c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1550772674 908 2921f8a10601f252058503cc6570e581 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1550772674 940 75ac932a52f80982a9f8ea75d03a34cf "" "c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1550772674 940 228d6584342e91276bf566bcf9716b83 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1550773119 992 662f679a0b3d2d53c1b94050fdaa3f50 "" "c:/software/latex/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1550773119 1296 45809c5a464d5f32c8f98ba97c1bb47f "" "c:/software/latex/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1550773119 1288 655e228510b4c2a1abe905c368440826 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbsy10.tfm" 1550775191 1300 0059c6d760901a3c6e7efe9457b0072d "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx10.tfm" 1550775191 2120 c2bca6a74408b1687f9d32e4fd3978fc "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx12.tfm" 1550775191 2112 e31d5b368c33d42906fcc26c9ca0a59c "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx5.tfm" 1550775191 2124 14faa80a751bb0ae001f3a68d089d55a "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx6.tfm" 1550775191 2136 fe7e8613da9d5c5d815ae6349be1b039 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx7.tfm" 1550775191 2128 5133c57fe3206d5e27757aee8392aebc "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx8.tfm" 1550775191 2124 8c7c117cce23f08f5cf96b79bd777a5f "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plcsc10.tfm" 1550775191 2140 d2ca82625bedca0b1948a5da5764d911 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plex10.tfm" 1550775191 992 93098cecc00cfdb7e881cb8983ca7545 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi10.tfm" 1550775191 1528 c9811a5c54036a0d60617f9ae77b990e "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi12.tfm" 1550775191 1524 234f65aa0171d619f32097d0f9186df0 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi5.tfm" 1550775191 1508 46f1ee3daa3eb5527576fb5e19154a72 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi6.tfm" 1550775191 1512 01fe68a80e3d13383410f67b67ce344d "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi7.tfm" 1550775191 1528 b9fad95d99dcea00da6a998803f85686 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi8.tfm" 1550775191 1520 1a3ee2ce8d697eaf56e43f8d2c40cb71 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmib10.tfm" 1550775191 1524 41ae4bd15dda377181ae6545ec43051c "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr10.tfm" 1550775191 2080 5c3eb4fec3b89def05dc3a4c6b93fb7c "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr12.tfm" 1550775191 2076 e1758d4caaf275a731cf0532450f26f0 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr17.tfm" 1550775191 2080 b61c70f1a22b45d92358c39b67ea9906 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr5.tfm" 1550775191 2008 4c18492417d4ad9dae4007f662b5da21 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr6.tfm" 1550775191 2088 aa80c569a200447488b571f8bf7b132b "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr7.tfm" 1550775191 2088 3950be4df310cc88dade7a45ba964220 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr8.tfm" 1550775191 2080 290449bfe12d41e2714fa828fd909bf8 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsltt10.tfm" 1550775191 1284 69e151372a927aca90b1d92c08f23748 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsy10.tfm" 1550775191 1308 adee1faadc465f51667a741ced3a8365 "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsy5.tfm" 1550775191 1296 bc803ec3860b078a8e22fb7a6202aa37 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsy6.tfm" 1550775191 1300 730d55d47130c8c9a62c9e7eab4ae96a "" + "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsy7.tfm" 1550775191 1304 a6a2c86c403d8bc56664eeac17804b8a "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsy8.tfm" 1550775191 1304 3b6e6a90176144a582c7bcae45156f9b "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plti10.tfm" 1550775191 2240 33876944658f33d5fc3eacb794ebb2f3 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/plti12.tfm" 1550775191 2248 f77d595f67089cf2926494dc25800828 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/pltt10.tfm" 1550775191 1280 1c9b21667354f78365f19e9802715019 "" "c:/software/latex/texmf-dist/fonts/tfm/public/pl/pltt12.tfm" 1550775191 1284 c8c4a3eceb0e687daf7c6971a24f073f "" + "c:/software/latex/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" 1550772674 30251 6afa5cb1d0204815a708a080681d4674 "" "c:/software/latex/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb" 1550772674 34694 870c211f62cb72718a00e353f14f254d "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plbx10.pfb" 1550775191 27050 0da5f310861fb948b3c5e6a53aad685b "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plbx12.pfb" 1550775191 26733 3fa55bab1df289b642fa8cd9e61fb25f "" + "c:/software/latex/texmf-dist/fonts/type1/public/pl/plbx8.pfb" 1550775191 27156 5bc85302fc9ef66974bf815b2458a6bb "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plcsc10.pfb" 1550775191 26854 ae64d555ccf6d86e33627b80279e1347 "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plex10.pfb" 1550775191 22371 094f80a5a689f2eefc72bff87ecbc407 "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plmi12.pfb" 1550775191 29704 59e409fb948cf911862e0a97f2ae41a4 "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plmi6.pfb" 1550775191 30338 4bdf6a32e66b53760b57428a52eeec91 "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plmi8.pfb" 1550775191 29648 b38cd15b84b56d7bea1291ffd32de967 "" + "c:/software/latex/texmf-dist/fonts/type1/public/pl/plmib10.pfb" 1550775191 30202 9ac91de0e5a3574c0a89b36ce4bec3eb "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plr10.pfb" 1550775191 27396 59c827d3c8566d0d9cbf81ac7c0d162a "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plr12.pfb" 1550775191 27754 6f5ae55af1b64df2aab0bbeada447136 "" + "c:/software/latex/texmf-dist/fonts/type1/public/pl/plr7.pfb" 1550775191 27523 c9185de4b4f361086bdc0d056fdd2b09 "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plr8.pfb" 1550775191 27613 2ab70f7885927ea178f952791c5494f9 "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plsltt10.pfb" 1550775191 26811 2bcd5a50de423b4f06adb4350b11f9e5 "" "c:/software/latex/texmf-dist/fonts/type1/public/pl/plsy10.pfb" 1550775191 26714 6fe260cd3a16c4a700b121f4edac67f2 "" @@ -174,35 +195,36 @@ "c:/software/latex/texmf-var/web2c/pdftex/pdflatex.fmt" 1550776400 4224189 0864f2c37b2414e08790946f00bc88b0 "" "c:/software/latex/texmf.cnf" 1550776299 715 839ef4b14d931ce86420174d3a223d3e "" "chapter-style.sty" 1560952449 376 87871882de090607c810d89fd5ae18d9 "" - "document.aux" 1590737509 10246 f6c6bf730ff827ee4ee2c7000ee1f625 "" - "document.ind" 1590736610 0 d41d8cd98f00b204e9800998ecf8427e "makeindex document.idx" - "document.tex" 1590737694 54935 0856128a11096e310a2d4ea5e9634d2b "" - "document.toc" 1590737509 4128 43c172f7b6a268473ca1fc1490f53ca1 "" + "document.aux" 1590745648 10185 1d4100bf7a7a11756e6a204340f8b394 "" + "document.ind" 1590745558 0 d41d8cd98f00b204e9800998ecf8427e "makeindex document.idx" + "document.tex" 1590745698 55805 05c6a6897114e47cb6ad72dd459af1fc "" + "document.toc" 1590745648 4113 b6c175cb8bd09638400a674d6275f5a8 "" "images/autoencoder.png" 1590441548 23857 e7e97c4ad164834bf8d9e2a1bef11905 "" "images/gradient_descent_1_long.png" 1590441549 10075 3f2887989844779ae2c10639cdfbca6e "" "images/gradient_descent_2_long.png" 1590441549 8705 4b42e8becdda3fb5896ce89581451166 "" "images/linear_reg.png" 1590441550 8534 8c3054c64ce0c420cfa4a974101de696 "" "images/lstm_cell2.PNG" 1590484840 26867 8c9571a6b2a25863a5fcc2f35a1e4acc "" "images/lstm_cell2.png" 1590484840 26867 8c9571a6b2a25863a5fcc2f35a1e4acc "" - "images/naural_model_multi.png" 1590441550 66955 00f73041add3428c900e6718ce681c23 "" - "images/naural_model_one.png" 1590441550 22256 5e939214229a9aedd0fea2af82df384a "" - "images/neural_net_1.png" 1590441550 53908 d6e272c91507f73e17f987c454575a5f "" + "images/naural_model_multi_ver2.png" 1590741836 60625 7690eb63f6502a54c7c5a513c98bf051 "" + "images/naural_model_one_ver2.png" 1590741810 38478 063ee3058d84ee2e973936c55d8bf18f "" + "images/neural_net_1_ver2.png" 1590742990 101593 0ab67f5a50ccc2e03356ab77ba2520f5 "" "images/nuty_linia.png" 1590441550 21762 9009cff1f7f5eb8cd57f9dfd335abfb8 "" "images/rnn.PNG" 1590478231 32351 837c802690d5d98090d2f00ef3af9fc3 "" "images/rnn.png" 1590478231 32351 837c802690d5d98090d2f00ef3af9fc3 "" "images/seq2seq2.PNG" 1590503901 30893 1856fa19ecec2dec6c981cc7e4f930f7 "" "images/seq2seq2.png" 1590503901 30893 1856fa19ecec2dec6c981cc7e4f930f7 "" "images/sigmoid.png" 1590441554 9716 acc4f414b1d7e983d673c0833a10041d "" + "images/tanh.png" 1590744728 11044 b335b43319d514b24107cb538c17cd0a "" "images/wartosc_nut.jpg" 1590441554 48213 d311c2cedb2ed53dcf5eff20f70eda80 "" "images/waveform.png" 1590441554 14738 e92dd40519d908b347590b71a2a36bb4 "" - "j:/_MAGISTERKA/praca-magisterska/docs/document.aux" 1590737509 10246 f6c6bf730ff827ee4ee2c7000ee1f625 "" - "j:/_MAGISTERKA/praca-magisterska/docs/document.tex" 1590737694 54935 0856128a11096e310a2d4ea5e9634d2b "" + "j:/_MAGISTERKA/praca-magisterska/docs/document.aux" 1590745648 10185 1d4100bf7a7a11756e6a204340f8b394 "" + "j:/_MAGISTERKA/praca-magisterska/docs/document.tex" 1590745698 55805 05c6a6897114e47cb6ad72dd459af1fc "" "pythonhighlight.sty" 1590660734 4822 44a39a68d852c9742af161f7166b2a03 "" (generated) + "document.pdf" + "j:/_MAGISTERKA/praca-magisterska/docs/document.log" "document.log" - "j:/_MAGISTERKA/praca-magisterska/docs/document.pdf" - "document.aux" "document.toc" "document.idx" - "j:/_MAGISTERKA/praca-magisterska/docs/document.log" - "document.pdf" + "document.aux" + "j:/_MAGISTERKA/praca-magisterska/docs/document.pdf" diff --git a/docs/document.fls b/docs/document.fls index f666825..5cc9992 100644 --- a/docs/document.fls +++ b/docs/document.fls @@ -240,21 +240,33 @@ INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/gradient_descent_1_long.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/gradient_descent_1_long.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/gradient_descent_1_long.png INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx10.tfm INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/gradient_descent_2_long.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/gradient_descent_2_long.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/gradient_descent_2_long.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_one.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_one.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_one.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_multi.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_multi.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_multi.png +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx8.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx6.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmib10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmib10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmib10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbsy10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbsy10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbsy10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/cm/cmex10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_one_ver2.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_one_ver2.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_one_ver2.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_multi_ver2.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_multi_ver2.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/naural_model_multi_ver2.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/sigmoid.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/sigmoid.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/sigmoid.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/neural_net_1.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/neural_net_1.png -INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/neural_net_1.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/neural_net_1_ver2.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/neural_net_1_ver2.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/neural_net_1_ver2.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/autoencoder.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/autoencoder.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/autoencoder.png @@ -264,6 +276,9 @@ INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/rnn.PNG INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/lstm_cell2.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/lstm_cell2.PNG INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/lstm_cell2.PNG +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/tanh.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/tanh.png +INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/tanh.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/seq2seq2.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/seq2seq2.PNG INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/seq2seq2.PNG @@ -273,6 +288,22 @@ INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/waveform.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/wartosc_nut.jpg INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/wartosc_nut.jpg INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/wartosc_nut.jpg +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr7.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plr5.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi7.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plmi5.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsy10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsy7.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plsy5.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx7.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/pl/plbx5.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT c:/software/latex/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/nuty_linia.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/nuty_linia.png INPUT j:/_MAGISTERKA/praca-magisterska/docs/images/nuty_linia.png @@ -289,21 +320,25 @@ INPUT j:/_MAGISTERKA/praca-magisterska/docs/document.ind INPUT j:/_MAGISTERKA/praca-magisterska/docs/document.aux INPUT c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plit.enc INPUT c:/software/latex/texmf-dist/fonts/enc/dvips/pl/pltt.enc +INPUT c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plrm.enc INPUT c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plmi.enc INPUT c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plms.enc INPUT c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plme.enc -INPUT c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plrm.enc INPUT c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plsc.enc +INPUT c:/software/latex/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plbx10.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plbx12.pfb +INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plbx8.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plcsc10.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plex10.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plmi12.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plmi6.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plmi8.pfb +INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plmib10.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plr10.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plr12.pfb +INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plr7.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plr8.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plsltt10.pfb INPUT c:/software/latex/texmf-dist/fonts/type1/public/pl/plsy10.pfb diff --git a/docs/document.log b/docs/document.log index 5fd3690..be2269f 100644 --- a/docs/document.log +++ b/docs/document.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2019.2.21) 29 MAY 2020 09:31 +This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2019.2.21) 29 MAY 2020 11:47 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -436,20 +436,20 @@ LaTeX Warning: Label `fig:waveform' multiply defined. ) \openout1 = `document.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. -LaTeX Font Info: Checking defaults for OT4/cmr/m/n on input line 56. -LaTeX Font Info: ... okay on input line 56. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 58. +LaTeX Font Info: ... okay on input line 58. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 58. +LaTeX Font Info: ... okay on input line 58. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 58. +LaTeX Font Info: ... okay on input line 58. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 58. +LaTeX Font Info: ... okay on input line 58. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 58. +LaTeX Font Info: ... okay on input line 58. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 58. +LaTeX Font Info: ... okay on input line 58. +LaTeX Font Info: Checking defaults for OT4/cmr/m/n on input line 58. +LaTeX Font Info: ... okay on input line 58. (c:/software/latex/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] \scratchcounter=\count140 @@ -510,12 +510,12 @@ Package caption Info: Begin \AtBeginDocument code. Package caption Info: subfig package v1.3 is loaded. Package caption Info: End \AtBeginDocument code. -Underfull \hbox (badness 10000) in paragraph at lines 97--98 +Underfull \hbox (badness 10000) in paragraph at lines 99--100 [] -Underfull \hbox (badness 10000) in paragraph at lines 99--100 +Underfull \hbox (badness 10000) in paragraph at lines 101--102 [] @@ -525,34 +525,34 @@ Underfull \hbox (badness 10000) in paragraph at lines 99--100 ] -LaTeX Font Info: Try loading font information for OML+plm on input line 138. +LaTeX Font Info: Try loading font information for OML+plm on input line 140. (c:/software/latex/texmf-dist/tex/latex/polski/omlplm.fd File: omlplm.fd 2008/02/24 v1.2.1 Font defs for fonts PL (MW) ) -LaTeX Font Info: Try loading font information for OMS+plsy on input line 138. +LaTeX Font Info: Try loading font information for OMS+plsy on input line 140. (c:/software/latex/texmf-dist/tex/latex/polski/omsplsy.fd File: omsplsy.fd 2008/02/24 v1.2.1 Font defs for fonts PL (MW) ) -LaTeX Font Info: Try loading font information for OMX+plex on input line 138. +LaTeX Font Info: Try loading font information for OMX+plex on input line 140. (c:/software/latex/texmf-dist/tex/latex/polski/omxplex.fd File: omxplex.fd 2008/02/24 v1.2.1 Font defs for fonts PL (MW) ) LaTeX Font Info: External font `plex10' loaded for size -(Font) <12> on input line 138. +(Font) <12> on input line 140. LaTeX Font Info: External font `plex10' loaded for size -(Font) <8> on input line 138. +(Font) <8> on input line 140. LaTeX Font Info: External font `plex10' loaded for size -(Font) <6> on input line 138. -LaTeX Font Info: Try loading font information for U+msa on input line 138. +(Font) <6> on input line 140. +LaTeX Font Info: Try loading font information for U+msa on input line 140. (c:/software/latex/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Try loading font information for U+msb on input line 138. +LaTeX Font Info: Try loading font information for U+msb on input line 140. (c:/software/latex/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) LaTeX Font Info: External font `plex10' loaded for size -(Font) <10.95> on input line 146. +(Font) <10.95> on input line 148. [3] [4 @@ -571,109 +571,119 @@ LaTeX Font Info: External font `plex10' loaded for size ] [11] [12 ] -Overfull \vbox (16.08192pt too high) detected at line 182 +Overfull \vbox (16.08192pt too high) detected at line 184 [] Rozdzia\PlPrIeC {\l } 1. File: images/linear_reg.png Graphic file (type png) -Package pdftex.def Info: images/linear_reg.png used on input line 211. +Package pdftex.def Info: images/linear_reg.png used on input line 213. (pdftex.def) Requested size: 398.33858pt x 265.57306pt. [13] [14 ] [15] File: images/gradient_descent_1_long.png Graphic file (type png) -Package pdftex.def Info: images/gradient_descent_1_long.png used on input line 263. +Package pdftex.def Info: images/gradient_descent_1_long.png used on input line 266. (pdftex.def) Requested size: 142.26378pt x 189.69504pt. File: images/gradient_descent_2_long.png Graphic file (type png) -Package pdftex.def Info: images/gradient_descent_2_long.png used on input line 265. +Package pdftex.def Info: images/gradient_descent_2_long.png used on input line 268. (pdftex.def) Requested size: 142.26378pt x 189.69504pt. [16 ] - -File: images/naural_model_one.png Graphic file (type png) - -Package pdftex.def Info: images/naural_model_one.png used on input line 297. -(pdftex.def) Requested size: 227.62204pt x 257.2098pt. - [17 ] - -File: images/naural_model_multi.png Graphic file (type png) - -Package pdftex.def Info: images/naural_model_multi.png used on input line 323. -(pdftex.def) Requested size: 227.62204pt x 230.82245pt. - [18 ] - + +File: images/naural_model_one_ver2.png Graphic file (type png) + +Package pdftex.def Info: images/naural_model_one_ver2.png used on input line 300. +(pdftex.def) Requested size: 227.62204pt x 234.51062pt. + [17 ] + +File: images/naural_model_multi_ver2.png Graphic file (type png) + +Package pdftex.def Info: images/naural_model_multi_ver2.png used on input line 326. +(pdftex.def) Requested size: 227.62204pt x 244.70514pt. + [18 ] + File: images/sigmoid.png Graphic file (type png) -Package pdftex.def Info: images/sigmoid.png used on input line 370. +Package pdftex.def Info: images/sigmoid.png used on input line 375. (pdftex.def) Requested size: 398.33858pt x 265.57306pt. - [19 ] - -File: images/neural_net_1.png Graphic file (type png) - -Package pdftex.def Info: images/neural_net_1.png used on input line 400. -(pdftex.def) Requested size: 227.62204pt x 148.0421pt. - [20] - + [19] + +File: images/neural_net_1_ver2.png Graphic file (type png) + +Package pdftex.def Info: images/neural_net_1_ver2.png used on input line 407. +(pdftex.def) Requested size: 227.62204pt x 149.1885pt. + [20 ] + File: images/autoencoder.png Graphic file (type png) -Package pdftex.def Info: images/autoencoder.png used on input line 429. +Package pdftex.def Info: images/autoencoder.png used on input line 435. (pdftex.def) Requested size: 227.62204pt x 216.12256pt. - [21 ] [22 ] - + [21 ] [22 ] + File: images/rnn.png Graphic file (type png) -Package pdftex.def Info: images/rnn.png used on input line 448. +Package pdftex.def Info: images/rnn.png used on input line 454. (pdftex.def) Requested size: 398.33858pt x 150.52278pt. - + File: images/lstm_cell2.png Graphic file (type png) -Package pdftex.def Info: images/lstm_cell2.png used on input line 469. +Package pdftex.def Info: images/lstm_cell2.png used on input line 475. (pdftex.def) Requested size: 398.33858pt x 280.04857pt. [23 ] [24 ] - + +File: images/tanh.png Graphic file (type png) + +Package pdftex.def Info: images/tanh.png used on input line 513. +(pdftex.def) Requested size: 398.33858pt x 265.57306pt. + [25 ] + File: images/seq2seq2.png Graphic file (type png) -Package pdftex.def Info: images/seq2seq2.png used on input line 512. +Package pdftex.def Info: images/seq2seq2.png used on input line 530. (pdftex.def) Requested size: 398.33858pt x 126.70078pt. - [25 ] [26 - -] -Overfull \vbox (16.08192pt too high) detected at line 521 + [26 ] +Overfull \vbox (16.08192pt too high) detected at line 538 [] Rozdzia\PlPrIeC {\l } 2. - + File: images/waveform.png Graphic file (type png) -Package pdftex.def Info: images/waveform.png used on input line 552. +Package pdftex.def Info: images/waveform.png used on input line 569. (pdftex.def) Requested size: 398.33858pt x 265.57306pt. -[27] [28 ] - +[27 + +] [28 ] + File: images/wartosc_nut.jpg Graphic file (type jpg) -Package pdftex.def Info: images/wartosc_nut.jpg used on input line 571. +Package pdftex.def Info: images/wartosc_nut.jpg used on input line 588. (pdftex.def) Requested size: 398.33858pt x 207.57985pt. - -Overfull \hbox (77.23566pt too wide) in paragraph at lines 572--572 -[]\OT4/cmr/m/n/12 Rysunek 2.2: |¹ró-dlo: https://www.infomusic.pl/poradnik/46934,poradnik-teoria-muzyki-rytm - [] - - +LaTeX Font Info: External font `plex10' loaded for size +(Font) <10> on input line 595. +LaTeX Font Info: External font `plex10' loaded for size +(Font) <7> on input line 595. +LaTeX Font Info: External font `plex10' loaded for size +(Font) <5> on input line 595. + File: images/nuty_linia.png Graphic file (type png) -Package pdftex.def Info: images/nuty_linia.png used on input line 609. +Package pdftex.def Info: images/nuty_linia.png used on input line 630. (pdftex.def) Requested size: 398.33858pt x 74.14209pt. -[29 ] (c:/software/latex/texmf-dist/tex/latex/listings/lstlang1.sty + +Underfull \vbox (badness 1072) has occurred while \output is active [] + + [29 ] [30 ] (c:/software/latex/texmf-dist/tex/latex/listings/lstlang1.sty File: lstlang1.sty 2018/09/02 1.7 listings language file ) -LaTeX Font Info: Try loading font information for OT4+cmtt on input line 640. +LaTeX Font Info: Try loading font information for OT4+cmtt on input line 661. (c:/software/latex/texmf-dist/tex/latex/polski/ot4cmtt.fd File: ot4cmtt.fd 2008/02/24 v1.2.1 Font defs for fonts PL (MW) -) [30 ] [31] [32] -Overfull \vbox (16.08192pt too high) detected at line 700 +) [31] [32] +Overfull \vbox (16.08192pt too high) detected at line 721 [] Rozdzia\PlPrIeC {\l } 3. @@ -681,19 +691,19 @@ Rozdzia\PlPrIeC {\l } 3. ] -LaTeX Warning: Command \' invalid in math mode on input line 746. +LaTeX Warning: Command \' invalid in math mode on input line 767. -LaTeX Warning: Command \' invalid in math mode on input line 746. +LaTeX Warning: Command \' invalid in math mode on input line 767. -LaTeX Warning: Command \l invalid in math mode on input line 746. +LaTeX Warning: Command \l invalid in math mode on input line 767. -LaTeX Warning: Command \' invalid in math mode on input line 746. +LaTeX Warning: Command \' invalid in math mode on input line 767. -LaTeX Warning: Command \' invalid in math mode on input line 746. +LaTeX Warning: Command \' invalid in math mode on input line 767. Missing character: There is no ó in font plmi12! Missing character: There is no ± in font plmi12! @@ -703,7 +713,7 @@ Missing character: There is no [34] LaTeX Font Warning: Font shape `OT4/cmtt/bx/n' in size <10> not available -(Font) Font shape `OT4/cmtt/m/n' tried instead on input line 766. +(Font) Font shape `OT4/cmtt/m/n' tried instead on input line 787. [35] [36] [37] Underfull \vbox (badness 10000) has occurred while \output is active [] @@ -711,7 +721,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] [38] [39] [40 ] -Overfull \vbox (16.08192pt too high) detected at line 907 +Overfull \vbox (16.08192pt too high) detected at line 928 [] Rozdzia\PlPrIeC {\l } 4. @@ -723,18 +733,18 @@ LaTeX Warning: There were multiply-defined labels. ) Here is how much of TeX's memory you used: - 16272 strings out of 492616 - 303841 string characters out of 6131816 - 639313 words of memory out of 5000000 - 19849 multiletter control sequences out of 15000+600000 - 17708 words of font info for 52 fonts, out of 8000000 for 9000 + 16325 strings out of 492616 + 304539 string characters out of 6131816 + 638269 words of memory out of 5000000 + 19886 multiletter control sequences out of 15000+600000 + 27095 words of font info for 80 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 - 55i,12n,50p,1549b,1931s stack positions out of 5000i,500n,10000p,200000b,80000s -{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plit.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/pltt.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plmi.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plms.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plme.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plrm.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plsc.enc} -Output written on j:/_MAGISTERKA/praca-magisterska/docs/document.pdf (43 pages, 569967 bytes). + 55i,14n,50p,1574b,1931s stack positions out of 5000i,500n,10000p,200000b,80000s +{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plit.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/pltt.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plrm.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plmi.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plms.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plme.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plsc.enc} +Output written on j:/_MAGISTERKA/praca-magisterska/docs/document.pdf (43 pages, 636582 bytes). PDF statistics: - 250 PDF objects out of 1000 (max. 8388607) - 163 compressed objects within 2 object streams + 271 PDF objects out of 1000 (max. 8388607) + 175 compressed objects within 2 object streams 0 named destinations out of 1000 (max. 500000) - 83 words of extra memory for PDF output out of 10000 (max. 10000000) + 88 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/docs/document.pdf b/docs/document.pdf index 4047801..c235307 100644 Binary files a/docs/document.pdf and b/docs/document.pdf differ diff --git a/docs/document.synctex.gz b/docs/document.synctex.gz index 054e1d1..bd5e2c1 100644 Binary files a/docs/document.synctex.gz and b/docs/document.synctex.gz differ diff --git a/docs/document.tex b/docs/document.tex index 38a2e13..62511e7 100644 --- a/docs/document.tex +++ b/docs/document.tex @@ -35,6 +35,8 @@ \newtheorem{de}{Definicja} \newtheorem{tw}{Twierdzenie} +\captionsetup[figure]{labelfont={bf}, name={Rysunek}, labelsep=period} + \pagestyle{fancy} \renewcommand{\chaptermark}[1]{\markboth{#1}{}} %\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} @@ -186,7 +188,7 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \section{Regresja liniowa} PodstawÄ… wszystkich sieci neuronowych jest regresja liniowa. W statystyce wykorzystywana, aby wyjaÅ›nić liniowe zaleznoÅ›ci miÄ™dzy zmiennymi. - Prosty model regresji liniowej dla jednej zmiennej można opisać wzorem~\cite{statystyka} + Prosty model regresji liniowej dla jednej zmiennej można opisać wzorem % \footnote{Statystyka, MieczysÅ‚aw Sobczyk s.179} \[y = ax+b+\epsilon,\] @@ -197,7 +199,7 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \item $x$ jest to zmienna objaÅ›niajÄ…ca, \item $a$ jest parametrem modelu, \item $b$ jest wyrazem wolnym modelu, - \item $\epsilon$ jest skÅ‚adnikiem losowym. + \item $\epsilon$ jest skÅ‚adnikiem losowym \cite{statystyka}. \end{itemize} \medskip @@ -213,46 +215,47 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \label{fig:linreg} \end{figure} - Wartość zmiennej objaÅ›nianej $y$ można również opisać za pomocÄ… wielu zmiennych objaÅ›niajÄ…ych. Wtedy dla zmiennych objaÅ›niajÄ…cej $x_1, x_2, ... , x_n \in \mathbb{R}$ szukamy parametrów $\theta_1, \theta_2, ... ,\theta_n \in \mathbb{R}$. Otrzymany w ten sposób model nazywany jest również hipotezÄ… i oznaczamy go $h(x)$. + Wartość zmiennej objaÅ›nianej $y$ można również opisać za pomocÄ… wielu zmiennych objaÅ›niajÄ…ych. Wtedy dla zmiennych objaÅ›niajÄ…cej $x_1, x_2, ... , x_p \in \mathbb{R}$ szukamy parametrów $\theta_1, \theta_2, ... ,\theta_p \in \mathbb{R}$, gdzi $p \in \mathbb{N}$ jest liczbÄ… cech. Otrzymany w ten sposób model nazywany jest również hipotezÄ… i oznaczamy go $h(x)$. - \[h(x) = b + \theta_1x_2 + \theta_2x_2 + ... + \theta_nx_n + \epsilon = b + \sum_{i=1}^{n} \theta_ix_i + \epsilon.\] + \[h(x) = b + \theta_1x_2 + \theta_2x_2 + ... + \theta_px_p + \epsilon = b + \sum_{i=1}^{p} \theta_ix_i + \epsilon.\] Rysunek~\ref{fig:linreg} przedstawia przykÅ‚adowy model regresji liniowej jednej zmiennej, dopasowany do zbioru. \section{Uczenie modelu} - Celem uczenia modelu jest znalezienie ogólnych parametrów, aby model dla wartoÅ›ci wejÅ›ciowych $x$ zwracaÅ‚ wartoÅ›ci predykcji $\hat{y}$ najlepiej opisujÄ…ce caÅ‚e zjawisko wedÅ‚ug pewnego kryterium. Formalnie, aby suma wszystkich różnic miÄ™dzy predykcjÄ… a rzeczywistoÅ›ciÄ… byÅ‚a najmniejsza. + Celem uczenia modelu jest znalezienie ogólnych parametrów, aby model dla wartoÅ›ci wejÅ›ciowych $x$ zwracaÅ‚ wartoÅ›ci predykcji $\hat{y}$ najlepiej opisujÄ…cej caÅ‚e zjawisko wedÅ‚ug pewnego kryterium. Formalnie, aby suma wszystkich różnic miÄ™dzy predykcjÄ…, a rzeczywistoÅ›ciÄ… byÅ‚a najmniejsza. \[ - \textoperatorname{bÅ‚Ä…d} = \sum_{i=1}^m | \textoperatorname{predykcja} - \textoperatorname{rzeczywistość} | - \] , gdzie $m \in \mathbb{N}$ jest wielkoÅ›ciÄ… zbioru danych jakim dysponujemy. MinimalizujÄ…c bÅ‚ad dla modelu jesteÅ›my wstanie znaleźć przybliżenie funkcji $h(x)$. + \textoperatorname{bÅ‚Ä…d} = \sum_{i=1}^m | \textoperatorname{predykcja} - \textoperatorname{rzeczywistość} |, + \] + gdzie $n \in \mathbb{N}$ jest wielkoÅ›ciÄ… zbioru danych jakim dysponujemy. MinimalizujÄ…c bÅ‚ad dla modelu jesteÅ›my wstanie znaleźć przybliżenie funkcji $h(x)$. \subsection{Funkcja kosztu} - W tym celu używa siÄ™ funkcji $J_\theta(h)$, która zwraca wartość bÅ‚Ä™du miÄ™dzy wartoÅ›ciami $h(x)$ oraz $y$ dla wszystkich obserwacji. Taka funkcja nazywana jest funkcjÄ… kosztu (\textit{cost function}). + W tym celu używa siÄ™ funkcji $J_\theta(h)$, która zwraca wartość bÅ‚Ä™du miÄ™dzy wartoÅ›ciami $h(x)$ oraz $y$ dla wszystkich obserwacji. Taka funkcja nazywana jest funkcjÄ… kosztu (\textit{ang. cost function}). - Dla przykÅ‚adu regresji liniowej funkcjÄ… kosztu może być bÅ‚Ä…d Å›redniokwadratowy (\textit{mean squared error}). Wtedy funkcja kosztu przyjmuje postać: - \[ J_\theta(h) = \frac{1}{m}\sum_{i=1}^{m}(y_i-h(x_i))^2 \]. + Dla przykÅ‚adu regresji liniowej funkcjÄ… kosztu może być bÅ‚Ä…d Å›redniokwadratowy (\textit{ang. mean squared error}). Wtedy funkcja kosztu przyjmuje postać: + \[ J_\theta(h) = \frac{1}{m}\sum_{i=1}^{m}(y_i-h(x_i))^2.\] Przy zdefiniowanej funkcji kosztu proces uczenia sprowadza siÄ™ do znalezienia takich parametrów funkcji $h(x)$, aby funkcja kosztu byÅ‚a najmniejsza. Jest to problem optymalizacyjny sprowadzajÄ…cy siÄ™ do znalezienia globalnego minimum funkcji. \subsection{Znajdowanie minimum funkcji} - Aby znaleźć minimum funkcji $f$ możemy skorzystać z analizy matematycznej. Wiemy, że jeÅ›li funkcja $f$ jest różniczkowalna to funkcja może przyjmować minimum lokalne, gdy $f'(x_0) = 0$ dla pewnego $x_0$ z dzieniny funkcji $f$. Dodatkowo jeÅ›li istanieje otoczenie punktu $x_0$, że dla wszystkich punktów z tego otoczenia speÅ‚niona jest nierówność: - \[ f(x)>f(x_0) \] + Aby znaleźć minimum funkcji $f$ możemy skorzystać z analizy matematycznej. Wiemy, że jeÅ›li funkcja $f$ jest różniczkowalna, to funkcja może przyjmować minimum lokalne, gdy $f'(x_0) = 0$ dla pewnego $x_0$ z dzieniny funkcji $f$. Dodatkowo jeÅ›li istanieje otoczenie punktu $x_0$, że dla wszystkich punktów z tego otoczenia speÅ‚niona jest nierówność: + \[ f(x)>f(x_0), \] to znaleziony punkt $x_0$ jest minimum lokalnym. - W teorii należaÅ‚oby zatem wybrać takÄ… funkcjÄ™ kosztu, aby byÅ‚a różniczkowalna. Obliczyć równanie $J_\theta'(h)=0$, nastÄ™pnie dla otrzymanych wyników sprawdzić powyższÄ… nierówność oraz wybrać najmniejszy wynik ze wszystkich. \cite{analiza_mat} W praktyce rozwiÄ…zanie takie równania ze wzglÄ™du na jego zÅ‚ożoność może siÄ™ okazać niewykonalne. Aby rozwiÄ…zać ten problem powstaÅ‚y inne metody, które pozwalajÄ… szukać ekstremów funkcji, jednak nigdy nie bÄ™dziemy mieli pewnoÅ›ci, że otrzymany wynik jest minimum globalnym funkcji kosztu. + W teorii należaÅ‚oby zatem wybrać takÄ… funkcjÄ™ kosztu, aby byÅ‚a różniczkowalna. RozwiÄ…zać równanie $J_\theta'(h)=0$, nastÄ™pnie dla otrzymanych wyników sprawdzić powyższÄ… nierówność oraz wybrać najmniejszy wynik ze wszystkich \cite{analiza_mat}. W praktyce rozwiÄ…zanie takiego równania ze wzglÄ™du na jego zÅ‚ożoność może siÄ™ okazać niewykonalne. Aby rozwiÄ…zać ten problem powstaÅ‚y inne metody, które pozwalajÄ… szukać ekstremów funkcji, jednak nigdy nie bÄ™dziemy mieli pewnoÅ›ci, że otrzymany wynik jest minimum globalnym funkcji kosztu. % \footnote{źródlo: Analiza matematyczna, Krysicki WÅ‚odarski, s.187 }. \subsection{Metody gradientowe} - Metody gradientowe (\textit{gradient descent}) sÄ… to iteracyjne algorytmy sÅ‚użące do znajdowania minimum funkcji. Aby móc skorzystać z metod gradientowych analizowana funkcja musi być ciÄ…gÅ‚a oraz różniczkowalna. Sposób dziaÅ‚ania ich można intuicyjnie opisać w nastepujÄ…cych krokach. + Metody gradientowe (\textit{ang. gradient descent}) sÄ… to iteracyjne algorytmy sÅ‚użące do znajdowania minimum funkcji. Aby móc skorzystać z metod gradientowych analizowana funkcja musi być ciÄ…gÅ‚a oraz różniczkowalna. Sposób ich dziaÅ‚ania można intuicyjnie opisać w nastepujÄ…cych krokach. 1. Wybierz punkt poczÄ…tkowy. 2. Oblicz kierunek, w którym funkcja maleje. - 3. Przejdź do kolejnego punktu zgodnie obliczonym kierunkiem o pewnÄ… maÅ‚Ä… odlegÅ‚ość. + 3. Przejdź do kolejnego punktu zgodnie obliczonym kierunkiem o pewnÄ… maÅ‚Ä… wartość. 4. Powtarzamy, aż osiÄ…gniemy minimum funkcji. @@ -268,13 +271,13 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \end{figure} \medskip - Dla funkcji $h(x)$ należy ustalić wartość poczÄ…tkowÄ… $\Theta_0$ dla wszystkich parametrów $\theta_1$ ... $\theta_n$. + Dla funkcji $h(x)$ należy ustalić wartość poczÄ…tkowÄ… $\Theta_0$ dla wszystkich parametrów $\theta_1$ ... $\theta_p$. - \[ \Theta_0 = \left[ \theta_1, \theta_2, ... ,\theta_n \right] \] + \[ \Theta_0 = \mathbf{\boldsymbol{\left[ \theta_1, \theta_2, ... ,\theta_n \right]}}. \] NastÄ™pnie policzyć wszystkie pochodne czeÅ›ciowe $\frac{\partial J_\theta(h)}{\partial \theta_i}$. Otrzymamy w ten sposób gradient $\nabla J_\theta(h)$, gdzie \[ - \nabla J_\theta(h) = \left[ \frac{\partial J_\theta(h)}{\partial \theta_1}, \frac{\partial J_\theta(h)}{\partial \theta_2}, ... , \frac{\partial J_\theta(h)}{\partial \theta_n} \right] + \nabla J_\theta(h) = \mathbf{\boldsymbol{\left[ \frac{\partial J_\theta(h)}{\partial \theta_1}, \frac{\partial J_\theta(h)}{\partial \theta_2}, ... , \frac{\partial J_\theta(h)}{\partial \theta_n} \right]}}. \] NastÄ™pnie obliczyć element $\Theta_{k+1}$ ze wzoru @@ -282,10 +285,10 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \[ \Theta_{k+1} = \Theta_{k} - \alpha\nabla J_\theta(h), \] - gdzie $\alpha \in \mathbb{R}$ jest współczynnikiem uczenia (\textit{learning rate}). Proces ten należy powtarzać do pewnego momentu. Najczęśćiej z góry okreÅ›lonÄ… liczbÄ™ razy lub do momentu, gdy uzysk funkcji kosztu spowodowany nastepnÄ… iteracjÄ… jest mniejszy niż ustalona wartość. Otrzymany w ten sposób wektor parametrów $\Theta_k$ jest wynikiem algorytmu. \cite{survay} + gdzie $\alpha \in \mathbb{R}$ jest współczynnikiem uczenia (\textit{ang. learning rate}), a $k \in \mathbb{N}$ jest kolejnÄ… iteracjÄ… algorytmu. Proces ten należy powtarzać do pewnego momentu. Najczęściej z góry okreÅ›lonÄ… liczbÄ™ razy lub do momentu, gdy uzysk funkcji kosztu spowodowany nastepnÄ… iteracjÄ… jest mniejszy niż ustalona wartość. Otrzymany w ten sposób wektor parametrów $\Theta_k$ jest wynikiem algorytmu \cite{survay}. % \footnote{Deep Learning techniques for music geneation - A survay s.44} - WykorzystujÄ…c metody gradientowe otrzymujemy wyuczony model. Parametry $\theta_i$ modelu $h(x)$ zostaÅ‚y ustalone w taki sposób, aby bÅ‚Ä…d miÄ™dzy predykcjÄ… a rzeczywistoÅ›ciÄ… byÅ‚ najmniejszy. + WykorzystujÄ…c metody gradientowe otrzymujemy wyuczony model. Parametry $\theta_i$ modelu $h(x)$ zostaÅ‚y ustalone w taki sposób, aby bÅ‚Ä…d miÄ™dzy predykcjÄ…, a rzeczywistoÅ›ciÄ… byÅ‚ najmniejszy. \section{Regresja liniowa jako model sieci neuronowej} \label{section:linreg} @@ -294,72 +297,74 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \begin{figure}[!htb] \centering - \includegraphics[width=8cm]{images/naural_model_one.png} + \includegraphics[width=8cm]{images/naural_model_one_ver2.png} \caption{Regresja liniowa jako model sieci neuronowej} \label{fig:neural_model_one} \end{figure} - Każdy wÄ™zeÅ‚ z lewej strony reprezentuje zmiennÄ… objaÅ›niajÄ…cÄ… $x_i$. PoÅ‚Ä…czenia nazywane sÄ… wagami i reprezentujÄ… one parametry $\theta_i$. WÄ™zeÅ‚ z prawej strony oznaczony jako $\hat{y}$ jest sumÄ… iloczynów wag oraz wartoÅ›ci wÄ™złów z prawej strony. Wtedy + Każdy wÄ™zeÅ‚ z lewej strony reprezentuje zmiennÄ… objaÅ›niajÄ…cÄ… $x_i$. PoÅ‚Ä…czenia nazywane sÄ… wagami (\textit{ang. weights}) i reprezentujÄ… one parametry $\theta_i$. WÄ™zeÅ‚ z prawej strony oznaczony jako $\hat{y}$ jest sumÄ… iloczynów wag oraz wartoÅ›ci wÄ™złów z prawej strony. Wtedy \[ \hat{y} = - \begin{bmatrix} + \mathbb{\boldsymbol{\begin{bmatrix} 1 \\ x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} \begin{bmatrix} - b & \theta_1 & \theta_2 & \dots & \theta_n - \end{bmatrix} + b & \theta_1 & \theta_2 & \dots & \theta_p + \end{bmatrix} }} = b + x_1\theta_1 + x_2\theta_2 + \dots + x_n\theta_n = b + \sum_{i=1}^n x_i\theta_i \] - co jest równoważne omawianemu modelowi regresji liniowej. WÄ™zÅ‚y sieci nazywane sÄ… neuronami, a wyraz wolny modelu $b$ nazywany jest biasem (\textit{bias}). + co jest równoważne omawianemu modelowi regresji liniowej. WÄ™zÅ‚y sieci nazywane sÄ… neuronami, a wyraz wolny modelu $b$ nazywany jest biasem (\textit{ang. bias}). - W Å‚atwy sposób możemy rozbudować ten model do regresji liniowej wielu zmiennych. PredykcjÄ… modelu nie bÄ™dzie jak do tej pory jedna wartość $\hat{y}$, tylko wektor wartoÅ›ci $\hat{y_1}, \hat{y_2}, \dots , \hat{y_m}$, który oznaczać bedziemy jako $\hat{Y}$. Model ten zostal przedstawiony na rysunku~\ref{fig:neural_model_multi}. + W Å‚atwy sposób możemy rozbudować ten model do regresji liniowej wielu zmiennych. PredykcjÄ… modelu nie bÄ™dzie jak do tej pory jedna wartość $\hat{y}$, tylko wektor wartoÅ›ci $\hat{y_1}, \hat{y_2}, \dots , \hat{y_q}$, który oznaczać bedziemy jako $\hat{Y}$. Model ten zostaÅ‚ przedstawiony na rysunku~\ref{fig:neural_model_multi}. \begin{figure}[!htb] \centering - \includegraphics[width=8cm]{images/naural_model_multi.png} - \caption{Regresja liniowa wielu zmiennych jako model sieci nauronowe.j} + \includegraphics[width=8cm]{images/naural_model_multi_ver2.png} + \caption{Regresja liniowa wielu zmiennych jako model sieci nauronowej} \label{fig:neural_model_multi} \end{figure} - Dla uogólnienia pojedyncze wagi modelu zapisywać bÄ™dÄ™ jako $w_{nm}$, natomiast macierz wag jako $W$. Algebricznie zapisalibyÅ›my ten model jako + Dla uogólnienia pojedyncze wagi modelu zapisywać bÄ™dÄ™ jako $w_{pq}$, natomiast macierz wag jako $W$. Algebricznie zapisalibyÅ›my ten model jako \[ - \begin{bmatrix} + \mathbb{\boldsymbol{\begin{bmatrix} 1 & 1 & \dots & 1\\ - x_{11} & x_{12} & \dots & x_{1m} \\ - x_{21} & x_{22} & \dots & x_{2m} \\ + x_{11} & x_{12} & \dots & x_{1q} \\ + x_{21} & x_{22} & \dots & x_{2q} \\ \vdots & \vdots & \ddots & \vdots \\ - x_{n1} & x_{12} & \dots & x_{nm} \\ + x_{p1} & x_{p2} & \dots & x_{pq} \\ \end{bmatrix} \begin{bmatrix} - b_1 & w_{11} & w_{12} & \dots & w_{1n} \\ - b_2 & w_{21} & w_{22} & \dots & w_{2n} \\ + b_1 & w_{11} & w_{12} & \dots & w_{1p} \\ + b_2 & w_{21} & w_{22} & \dots & w_{2p} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ - b_m & w_{m1} & w_{m2} & \dots & w_{mn} \\ - \end{bmatrix} + b_q & w_{q1} & w_{q2} & \dots & w_{qp} \\ + \end{bmatrix} }} = + \mathbb{\boldsymbol{ \begin{bmatrix} - h_1(x) \\ h_2(x) \\ \vdots \\ h_m(x) - \end{bmatrix} + h_1(x) \\ h_2(x) \\ \vdots \\ h_q(x) + \end{bmatrix} }} = + \mathbb{\boldsymbol{ \begin{bmatrix} - \hat{y_1} \\ \hat{y_2} \\ \vdots \\ \hat{y_m} - \end{bmatrix} + \hat{y_1} \\ \hat{y_2} \\ \vdots \\ \hat{y_q} + \end{bmatrix} }} \] \[ - b+XW = \hat{Y} + b+XW = \hat{Y}, \] - gdzie $n$ jest liczbÄ… zmiennych niezależnych, $m$ jest liczbÄ… zmiennych zaleznych, $X$ jest rozszerzonym do macierzy o rozmiarach $m$ x $n$ wektorem zmiennych objaÅ›niajÄ…cych, w taki sposób że $x_{i1} = x_{i2} = \dots = x_{in}$ dla $i = 1, 2, ..., m$, $W$ jest macierzÄ… wag o rozmiarach $n$ x $m$, natomiast $b$ jest sumÄ… wyrazów wolnych $b_1, ... ,b_m$. Możemy zauważyć, że model dla wielu zmiennych jest wieloma modelami dla jednej zmiennej, gdzie każdy model operuje na tych samych danych wejÅ›ciowych. Taki model może być uznany za sieć neuronowÄ… i nazywany jest perceptronem. + gdzie $p$ jest liczbÄ… zmiennych niezależnych, $q$ jest liczbÄ… zmiennych zaleznych, $X$ jest rozszerzonym do macierzy o rozmiarach $q$ x $p$ wektorem zmiennych objaÅ›niajÄ…cych, w taki sposób że $x_{i1} = x_{i2} = \dots = x_{ip}$ dla $i = 1, 2, ..., q$, $W$ jest macierzÄ… wag o rozmiarach $p$ x $q$, natomiast $b$ jest sumÄ… wyrazów wolnych $b_1, ... ,b_q$. Możemy zauważyć, że model dla wielu zmiennych jest wieloma modelami dla jednej zmiennej, gdzie każdy model operuje na tych samych danych wejÅ›ciowych. Taki model może być uznany za sieć neuronowÄ… i nazywany jest perceptronem. \section{Funkcje aktywacji} - Omawiany model sÅ‚uży rozwiÄ…zywaniu problemu regresji, ponieważ wartoÅ›ci predykcji nie sÄ… uregulowane i mogÄ… przyjmować wartoÅ›ci z $\mathbb{R}$. W celu przeksztaÅ‚cenia tego modelu, aby móc go wykorzystać do rozwiÄ…zania problemu klasyfikacji, należy dodatkowo na otrzymanym wektorze $\hat{Y}$ wykonać pewnÄ… funkcjÄ™, która przeksztaÅ‚ci wynik. W tym celu używamy funkcji aktywacji (\textit{activation function}). Istnieje wiele różnych funkcji aktywacji, a każda posiada innÄ… charakterystykÄ™ i wpÅ‚yw na model. NajpopularnijeszÄ… grupÄ… fukcji sÄ… funkcje sigmoidalne (\textit{sigmoid functions}). JednÄ… z nich jest funkcja logistyczna (\textit{logistic curve}) o wzrorze + Omawiany model sÅ‚uży rozwiÄ…zywaniu problemu regresji, ponieważ wartoÅ›ci predykcji nie sÄ… uregulowane i mogÄ… przyjmować wartoÅ›ci z $\mathbb{R}$. W celu przeksztaÅ‚cenia tego modelu, aby móc go wykorzystać do rozwiÄ…zania problemu klasyfikacji, należy dodatkowo na otrzymanym wektorze $\hat{Y}$ wykonać pewnÄ… funkcjÄ™, która przeksztaÅ‚ci wynik. W tym celu używamy funkcji aktywacji (\textit{ang. activation function}). Istnieje wiele różnych funkcji aktywacji, a każda posiada innÄ… charakterystykÄ™ i wpÅ‚yw na model. NajpopularnijeszÄ… grupÄ… fukcji sÄ… funkcje sigmoidalne (\textit{ang. sigmoid functions}). JednÄ… z nich jest funkcja logistyczna (\textit{ang. logistic curve}) \[ \sigma(x) = \frac{1}{1+e^{-x}} \] @@ -372,57 +377,58 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \label{fig:sigmoid} \end{figure} - Funkcja logistyczna ma pewne użyteczne wÅ‚aÅ›ciwoÅ›ci, które pozwolÄ… kontrolować wartoÅ›ci wÄ™złów oraz rzutować wartoÅ›ci z caÅ‚ego $\mathbb{R}$ do wartoÅ›ci z przedziaÅ‚u $(0,1)$. DziÄ™ki tej wÅ‚aÅ›ciwoÅ›ci funkcja logistyczna jest czÄ™sto używana, aby otrzymać prawdopodobieÅ„stwo wystÄ…pienia pewnego zdarzenia. Dodatkowo funkcja logistyczna szybko przyjmuje wartoÅ›ci skrajne, co oznacza że dla bardzo dużych wartoÅ›ci ujemnych i bardzo dużych wartoÅ›ci dodatnich funkcja staje siÄ™ maÅ‚o wrażliwa na zmiany wartoÅ›ci wraz ze zmianÄ… wartoÅ›ci argumentu. \cite{deep_learning} % \footnote{Deep Learning Book, s.66} + Funkcja logistyczna ma pewne użyteczne wÅ‚aÅ›ciwoÅ›ci, które pozwolÄ… kontrolować wartoÅ›ci wÄ™złów oraz rzutować wartoÅ›ci z caÅ‚ego $\mathbb{R}$ do wartoÅ›ci z przedziaÅ‚u $(0,1)$. DziÄ™ki tej wÅ‚aÅ›ciwoÅ›ci funkcja logistyczna jest czÄ™sto używana, aby otrzymać prawdopodobieÅ„stwo wystÄ…pienia pewnego zdarzenia. Dodatkowo funkcja logistyczna szybko przyjmuje wartoÅ›ci skrajne, co oznacza że dla bardzo dużych wartoÅ›ci ujemnych i bardzo dużych wartoÅ›ci dodatnich funkcja staje siÄ™ maÅ‚o wrażliwa na zmiany wartoÅ›ci wraz ze zmianÄ… wartoÅ›ci argumentu + \cite{deep_learning}. + + % \footnote{Deep Learning Book, s.66} W ten sposób możemy w Å‚atwy sposób zmienić model regresji liniowej na model regresji logistycznej. - \[ \sigma(b+XW) = \hat{Y} \] - W dalszych czeÅ›ciach pracy, kiedy bedÄ™ używaÅ‚ funckji aktywacji nie wskazujÄ…c na konkretnÄ… funckcjÄ™, bÄ™de wykorzystywaÅ‚ oznaczenie $AF(x)$. + W dalszych czeÅ›ciach pracy, kiedy bedÄ™ używaÅ‚ funkcji aktywacji nie wskazujÄ…c na konkretnÄ… funkcjÄ™, bÄ™de wykorzystywaÅ‚ oznaczenie $AF(x)$. - \section{GÅ‚Ä™bokie sieci neuronowe} + \section{Wielowarstwowe sieci neuronowe} - Model omawiany wczeÅ›niej może posÅ‚użyć jako podstawowy element do budowania bardziej skomplikowanych modeli. Aby to zrobić, należy potraktować otrzymany wektor $\hat{Y}$ jako wektor wejÅ›ciowy do nastÄ™pngo podstawowego modelu. SkÅ‚adajÄ…c ze sobÄ… wiele perceptronów w jeden model, tworzymy warstwy (\textit{layers}) sieci neuronowej. + Model omawiany wczeÅ›niej może posÅ‚użyć jako podstawowy element do budowania bardziej skomplikowanych modeli. Aby to zrobić, należy potraktować otrzymany wektor $\hat{Y}$ jako wektor wejÅ›ciowy do nastÄ™pngo podstawowego modelu. SkÅ‚adajÄ…c ze sobÄ… wiele perceptronów w jeden model, tworzymy warstwy (\textit{ang. layers}) sieci neuronowej. Wyróżniamy trzy rodzaje warstw: \begin{itemize} - \item warstwÄ™ wejÅ›ciowÄ… (\textit{input layer}), która jest pierwszÄ… warstwÄ… modelu, - \item warstwÄ™ wyjÅ›ciowÄ… (\textit{output layer}), która jest ostatniÄ… wartstwÄ… modelu, - \item wartwy ukryte (\textit{hidden layer}), które sÄ… warstwami pomiÄ™dzy warstwÄ… wejsciowÄ… oraz wyjÅ›ciowÄ…. + \item warstwÄ™ wejÅ›ciowÄ… (\textit{ang. input layer}), która jest pierwszÄ… warstwÄ… modelu, + \item warstwÄ™ wyjÅ›ciowÄ… (\textit{ang. output layer}), która jest ostatniÄ… wartstwÄ… modelu, + \item wartwy ukryte (\textit{ang. hidden layer}), które sÄ… warstwami pomiÄ™dzy warstwÄ… wejsciowÄ… oraz wyjÅ›ciowÄ…. \end{itemize} - Na rysunku~\ref{fig:neural_net_1} przedstawiono przykÅ‚ad posiadajÄ…cy warswÄ™ wejÅ›ciowÄ…, dwie wartswy ukryte oraz wartswÄ™ wyjsciowÄ…. + Na rysunku~\ref{fig:neural_net_1} przedstawiono sieć posiadajÄ…cÄ… warstwÄ™ wejÅ›ciowÄ…, dwie wartswy ukryte oraz wartswÄ™ wyjsciowÄ…. \begin{figure}[!htb] \centering - \includegraphics[width=8cm]{images/neural_net_1.png} - \caption{PrzykÅ‚ad modelu sieci neuronowej} + \includegraphics[width=8cm]{images/neural_net_1_ver2.png} + \caption{PrzykÅ‚ad modelu wielowarstwowej sieci neuronowej} \label{fig:neural_net_1} \end{figure} - Tego typu modele sÄ… gÅ‚Ä™bokimi sieciami neuronowymi (\textit{deep neural networks}). Istnieje wiele różnich architektur gÅ‚Ä™bokich sieci neuronowych, które wykorzystujÄ… te podstawowe koncepcje i rozszerzajÄ… je o dodatkowe warstwy, poÅ‚Ä…cznia, funkcje aktywacji czy neurony o specjalnych wÅ‚aÅ›ciwoÅ›ciach. + Tego typu modele sÄ… gÅ‚Ä™bokimi sieciami neuronowymi (\textit{ang. deep neural networks}). Istnieje wiele różnich architektur gÅ‚Ä™bokich sieci neuronowych, które wykorzystujÄ… te podstawowe koncepcje i rozszerzajÄ… je o dodatkowe warstwy, poÅ‚Ä…cznia, funkcje aktywacji czy neurony o specjalnych wÅ‚aÅ›ciwoÅ›ciach. \subsection{Jednokierunkowe sieci neuronowe} \label{section:feedforeward} - Jednokierunkowe sieci neuronowe (\textit{feedforward neural networks}) sÄ… to najprostrze sieci neuronowe, które wprost czerpiÄ… z omówionych wczeÅ›niej podstawowych wartsw. Możemy siÄ™ również spotkać z nazwÄ… wielowarstwowy perceptron (\textit{multi layer perceptron - MLP}) ze wzglÄ™du na fakt, że jest zbudowany z wielu perceptronów zaprezentoanych w części~\ref{section:linreg}. DziaÅ‚ajÄ… one w taki sposób, że zasila siÄ™ je danymi do warstwy wejÅ›ciowej, nastÄ™pnie sukcesywnie wykonuje siÄ™ obliczenia do momentu dotarcia do koÅ„ca sieci. + Jednokierunkowe sieci neuronowe (\textit{ang. feedforward neural networks}) sÄ… to najprostrze sieci neuronowe, które wprost czerpiÄ… z omówionych wczeÅ›niej podstawowych wartsw. Możemy siÄ™ również spotkać z nazwÄ… wielowarstwowy perceptron (\textit{ang. multi layer perceptron - MLP}) ze wzglÄ™du na fakt, że jest zbudowany z wielu perceptronów zaprezentoanych w rozdziale~\ref{section:linreg}. DziaÅ‚ajÄ… one w taki sposób, że zasila siÄ™ je danymi do warstwy wejÅ›ciowej, nastÄ™pnie sukcesywnie wykonuje siÄ™ obliczenia do momentu dotarcia do koÅ„ca sieci. Każdy krok z warstwy $k-1$ do warstwy $k$ obliczany jest zgodnie ze wzorem \cite{survay} %\footnote{Deep Learning techniques for music geneation - A survay s.63} - \[ - X_k = AF(b_k + W_kX_{k-1}) + X_k = AF(b_k + W_kX_{k-1}). \] \subsubsection{Propagacja wsteczna bÅ‚Ä™du} \label{section:backpropagation} - Kiedy używamy jednokierunkowych sieci neuronowych, zasilamy je danymi wejÅ›ciowymi $x$ ostatecznie otrzymujÄ…c predykcjÄ™ $\hat{y}$. Taki sposób dziaÅ‚ania nazywa siÄ™ propagcjÄ… wprzód (\textit{foreward propagation}). Podczas uczenia sieci kontynuuje siÄ™ ten proces obliczajÄ…c koszt $J(h)$. Propagacja wsteczna (\textit{back-propagation}) pozwala na przepÅ‚yw informacji od funkcji kosztu wstecz sieci neuronowej, aby ostatecznie obliczyć gradient. Zasada dziaÅ‚ania algorytmu propagacji wsteczniej bÅ‚Ä™du polega na sukcesywnym aktualizowaniu wag i biasów oraz przesyÅ‚aniu wstecz po warstwach sieci. DziÄ™ki temu jesteÅ›my wstanie wyuczyć sieć oraz obliczyć optymalne wagi i biasy dla caÅ‚ej sieci neuronowej. + Kiedy używamy jednokierunkowych sieci neuronowych, zasilamy je danymi wejÅ›ciowymi $x$ ostatecznie otrzymujÄ…c predykcjÄ™ $\hat{y}$. Taki sposób dziaÅ‚ania nazywa siÄ™ propagcjÄ… wprzód (\textit{ang. foreward propagation}). Podczas uczenia sieci kontynuuje siÄ™ ten proces obliczajÄ…c koszt $J(h)$. Propagacja wsteczna (\textit{ang. back-propagation}) pozwala na przepÅ‚yw informacji od funkcji kosztu wstecz sieci neuronowej, aby ostatecznie obliczyć gradient. Zasada dziaÅ‚ania algorytmu propagacji wsteczniej bÅ‚Ä™du polega na sukcesywnym aktualizowaniu wag i biasów oraz przesyÅ‚aniu wstecz po warstwach sieci. DziÄ™ki temu jesteÅ›my wstanie wyuczyć sieć oraz obliczyć optymalne wagi i biasy dla caÅ‚ej sieci neuronowej. \subsection{Autoencodery} \label{section:autoencoder} - Autoencoder jest szczególnym przypadkiem sieci neuronowej. Posiada jednÄ… warstwÄ™ ukrytÄ…, a rozmiar wartwy wejÅ›ciowej musi być równy rozmiarowi wartwy wyjÅ›ciowej, tworzÄ…c w ten sposób symetrycznÄ… sieć, której ksztaÅ‚t przypomina klepsydrÄ™. PrzykÅ‚ad autoencodera przedstawiono na rysunku ~\ref{fig:autoencoder}. + Autoencoder jest szczególnym przypadkiem sieci neuronowej. Posiada jednÄ… warstwÄ™ ukrytÄ…, a rozmiar wartwy wejÅ›ciowej musi być równy rozmiarowi wartwy wyjÅ›ciowej, tworzÄ…c w ten sposób symetrycznÄ… sieć, której ksztaÅ‚t przypomina klepsydrÄ™. PrzykÅ‚ad autoencodera przedstawiono na rysunku~\ref{fig:autoencoder}. \begin{figure}[!htb] \centering @@ -431,17 +437,17 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \label{fig:autoencoder} \end{figure} - Podczas uczenia autoencodera przedstawia siÄ™ dane wejÅ›ciowe jako cel. W ten sposób ta architektura stara siÄ™ odtworzyć funckje identycznoÅ›ci. Zadanie nie jest trywialne jak mogÅ‚o by siÄ™ zdawać, ponieważ zazwyczaj ukryta warstwa jest mniejszego rozmiaru niż dane wejÅ›ciowe. Z tego wzglÄ™du autoencoder jest zmuszony do wydobycia istotnych cech danych wejÅ›ciowych, skompresowania, a nastÄ™pnie jak najwierniejszego ich odtworzenia. Część kompresujÄ…ca dane nazywana jest encoderem, natomiast część dekompresujÄ…ca decoderem. - Wektor cech, które zostaÅ‚y odkryte przez autoencoder nazywane sÄ… zmiennymi utajnionymi (\textit{latent variables}). Zarówno encoder jak i dekoder można wyodrÄ™bnić z autoencodera i wykorzystywać go jako osobnÄ… sieć neuronowÄ…. + Podczas uczenia autoencodera przedstawia siÄ™ dane wejÅ›ciowe jako cel. W ten sposób ta architektura stara siÄ™ odtworzyć funkcje identycznoÅ›ciowe. Zadanie nie jest trywialne jak mogÅ‚o by siÄ™ zdawać, ponieważ zazwyczaj ukryta warstwa jest mniejszego rozmiaru niż dane wejÅ›ciowe. Z tego wzglÄ™du autoencoder jest zmuszony do wydobycia istotnych cech danych wejÅ›ciowych, skompresowania, a nastÄ™pnie jak najwierniejszego ich odtworzenia. Część kompresujÄ…ca dane nazywana jest encoderem, natomiast część dekompresujÄ…ca decoderem. + Cechy, które zostaÅ‚y odkryte przez autoencoder nazywane sÄ… zmiennymi utajnionymi (\textit{ang. latent variables}). Zarówno encoder jak i dekoder można wyodrÄ™bnić z autoencodera i wykorzystywać go jako osobnÄ… sieć neuronowÄ…. CiekawÄ… cechÄ… decodera jest jego generatywny charakter, ponieważ dostarczajÄ…c zupeÅ‚nie nowe informacje jako zmienne wejÅ›ciowe, decoder odtworzy je na podobieÅ„stwo danych, na których zostaÅ‚ nauczony. \subsection{Rekurencyjne sieci neuronowe} \label{section:rnn} - Rekurencyjne sieci neuronowe (\textit{recurrent neural networks - RNN}) w uproszczeniu sÄ… to MLP posiadajÄ…ce pamięć. Wykorzystywane sÄ… do analizawania i przewidywania sekwencji wartoÅ›ci uporzÄ…dkowanych w czasie. Rekurencyjnych sieci neuronowe znalazÅ‚y zastosowanie w przetwarzaniu jÄ™zyka natutralnego, np. tÅ‚umaczenia na różne jÄ™zyki Å›wiata. PotrafiÄ… poradziac sobie z różnej dÅ‚ugoÅ›ci sekwencjami od krótkich zawierajÄ…cych kilka elementów do bardzo dÅ‚ugich jak próbki audio, czy tekst zawierajÄ…cy dziesiÄ…tki tysiÄ™cy kroków czasu. + Rekurencyjne sieci neuronowe (\textit{ang. recurrent neural networks; RNN}) w uproszczeniu sÄ… to MLP posiadajÄ…ce pamięć. Wykorzystywane sÄ… do analizawania i przewidywania sekwencji wartoÅ›ci uporzÄ…dkowanych w czasie. Rekurencyjne sieci neuronowe znalazÅ‚y zastosowanie w przetwarzaniu jÄ™zyka natutralnego, np. tÅ‚umaczenia na różne jÄ™zyki Å›wiata. PotrafiÄ… poradzić sobie z różnej dÅ‚ugoÅ›ci sekwencjami od krótkich zawierajÄ…cych kilka elementów do bardzo dÅ‚ugich jak próbki audio, czy tekst zawierajÄ…cy dziesiÄ…tki tysiÄ™cy kroków czasu. - Rekurencyjne sieci neuronowe dziaÅ‚ajÄ… podobnie do omawianych w sekcji~\ref{section:feedforeward} sieci jednokierunkowych z tym wyjÄ…tkiem, że kierunek przepÅ‚ywu informacji pÅ‚ynie również wstecz sieci. Jeden neuron sieci RNN otrzymuje dane wejÅ›ciowe $x_{(t)}$, wytwarza dane wyjÅ›ciowe $y_{(t)}$, a nastÄ™pnie wysyÅ‚a te dane wyjÅ›ciowe z powrotem do samego siebie. W ten sposób neuron RNN posiada dwa wejÅ›cia $x_{(t)}$ oraz $y_{(t-1)}$. Możemy również zaprezentować sieć RNN w postaci udwiniÄ™tej w czasie (\textit{unrolled through time}). + Rekurencyjne sieci neuronowe dziaÅ‚ajÄ… podobnie do omawianych w sekcji~\ref{section:feedforeward} sieci jednokierunkowych z tym wyjÄ…tkiem, że kierunek przepÅ‚ywu informacji pÅ‚ynie również wstecz sieci. Jeden neuron sieci RNN otrzymuje dane wejÅ›ciowe $x_{(t)}$, wytwarza dane wyjÅ›ciowe $y_{(t)}$, a nastÄ™pnie wysyÅ‚a te dane wyjÅ›ciowe z powrotem do samego siebie. W ten sposób neuron RNN posiada dwa wejÅ›cia $x_{(t)}$ oraz $y_{(t-1)}$. Możemy również zaprezentować sieć RNN w postaci odwiniÄ™tej w czasie (\textit{ang. unrolled through time}). \begin{figure}[!htb] \centering @@ -457,12 +463,12 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \] - Aby wytrenować sieć neuronowÄ… stosuje siÄ™ propagacjÄ™ wstecznÄ… w czasie (\textit{backpropagation through time - BPTT}). Polega ona na odwiniÄ™ciu sieci RNN, a nastÄ™pnie zastosowania zwykÅ‚ej metody wstecznej propagacji. \cite{handson} %\footnote{Hands-on machine learning with scikit-learn, keras and TensorFlow s.497} + Aby wytrenować sieć neuronowÄ… stosuje siÄ™ propagacjÄ™ wstecznÄ… w czasie (\textit{ang. backpropagation through time; BPTT}). Polega ona na odwiniÄ™ciu sieci RNN, a nastÄ™pnie zastosowania zwykÅ‚ej metody wstecznej propagacji\cite{handson}. %\footnote{Hands-on machine learning with scikit-learn, keras and TensorFlow s.497} \subsection{LSTM} - Komórki LSTM (\textit{long-short term memory}) sÄ… rozszerzeniem neuronów sieci rekurencyjnych. PozwalajÄ… wykrywać zależnoÅ›ci w danych w dÅ‚ugim okresie. PosiadajÄ… dwa wektory opisujÄ…ce stan neuronu. Wektor $h_{(t)}$ okreÅ›la stan krótkookresowy i wektor $c_{(t)}$ okreÅ›la stan dÅ‚ugookresowy. + Komórki LSTM (\textit{ang. long-short term memory}) sÄ… rozszerzeniem neuronów sieci rekurencyjnych. PozwalajÄ… wykrywać zależnoÅ›ci w danych w dÅ‚ugim okresie. PosiadajÄ… dwa wektory opisujÄ…ce stan neuronu. Wektor $h_{(t)}$ okreÅ›la stan krótkookresowy i wektor $c_{(t)}$ okreÅ›la stan dÅ‚ugookresowy. \begin{figure}[!htb] \centering @@ -471,7 +477,7 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \label{fig:lstm} \end{figure} - Główny pomysÅ‚ na funcjonowanie komórek LSTM byÅ‚ taki, aby sieć sama mogÅ‚a siÄ™ nauczyć jakie informacje sÄ… istotne i je przechować, a które informacje można pominąć, zapomnieć. Schemat komórki LSTM przedstawiono na rysunku~\ref{fig:lstm}. Aby to osiÄ…gnąć powstaÅ‚a idea bramek (\textit{gates}), oraz kontrolerów bramek (\textit{gate controllers}). W komórce LSTM wyróżniamy trzy bramki. BramkÄ™ zapomnienia (\textit{forget gate}) sterowanÄ… przez $f_{(t)}$, bramkÄ™ wejÅ›ciowÄ…(\textit{input gate}) sterowanÄ… przez $i_{(t)}$, oraz bramkÄ™ wyjÅ›ciowÄ… (\textit{output gate}), sterowanÄ… przez $o_{(t)}$. PrzepÅ‚yw danych w komórce LSTM zaczyna w miejscu gdzie wektor wejÅ›ciowy $x_{(t)}$ i poprzedni którkoterminowy stan $h_{(t-1)}$ trafiajÄ… do czterech warstw. GłównÄ… warstwÄ… jest ta zwracajÄ…ca $g_{(t)}$. W podstawowej komórce RNN jest tylko ta warstwa. PozostaÅ‚e trzy wartswy po przejÅ›ciu przez funkcje logistyczne trafiajÄ… do bramek. Bramka zapomnienia kontroluje, które informacje z dÅ‚ugookresowego stanu $c_{(t-1)}$ powinny zostać wykasowane. Bramka wejÅ›ciowa kontroluje jakie informacje z $g_{(t)}$ powinny zostać przekazane dalej i dodane do nastepnego stanu dÅ‚ugookresowego $c_{(t)}$. Bramka wyjÅ›ciowa odpowiada za wybranie odpowiednich elementów z stanu dÅ‚ugookresowego i przekazanie ich nastÄ™pnych kroku. Wynik komórki zostaje przekazany do wyjÅ›cia komórki $y_{(t)}$ oraz jako nastÄ™pny stan krótkoterminowy $h_{(t)}$. + Główny pomysÅ‚ na funcjonowanie komórek LSTM byÅ‚ taki, aby sieć sama mogÅ‚a siÄ™ nauczyć jakie informacje sÄ… istotne i je przechować, a które informacje można pominąć, zapomnieć. Schemat komórki LSTM przedstawiono na rysunku~\ref{fig:lstm}. Aby to osiÄ…gnąć powstaÅ‚a idea bramek (\textit{ang. gates}), oraz kontrolerów bramek (\textit{ang. gate controllers}). W komórce LSTM wyróżniamy trzy bramki. BramkÄ™ zapomnienia (\textit{ang. forget gate}) sterowanÄ… przez $f_{(t)}$, bramkÄ™ wejÅ›ciowÄ…(\textit{ang. input gate}) sterowanÄ… przez $i_{(t)}$, oraz bramkÄ™ wyjÅ›ciowÄ… (\textit{ang. output gate}), sterowanÄ… przez $o_{(t)}$. PrzepÅ‚yw danych w komórce LSTM zaczyna w miejscu gdzie wektor wejÅ›ciowy $x_{(t)}$ i poprzedni którkoterminowy stan $h_{(t-1)}$ trafiajÄ… do czterech warstw. GłównÄ… warstwÄ… jest ta zwracajÄ…ca $g_{(t)}$. W podstawowej komórce RNN jest tylko ta warstwa. PozostaÅ‚e trzy wartswy po przejÅ›ciu przez funkcje logistyczne trafiajÄ… do bramek. Bramka zapomnienia kontroluje, które informacje z dÅ‚ugookresowego stanu $c_{(t-1)}$ powinny zostać wykasowane. Bramka wejÅ›ciowa kontroluje jakie informacje z $g_{(t)}$ powinny zostać przekazane dalej i dodane do nastepnego stanu dÅ‚ugookresowego $c_{(t)}$. Bramka wyjÅ›ciowa odpowiada za wybranie odpowiednich elementów z stanu dÅ‚ugookresowego i przekazanie ich nastÄ™pnych kroku. Wynik komórki zostaje przekazany do wyjÅ›cia komórki $y_{(t)}$ oraz jako nastÄ™pny stan krótkoterminowy $h_{(t)}$. Kolejne etapy komórki LSTM obliczane sÄ… zgodnie z poniższymy wzorami: \[ @@ -484,7 +490,7 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow o_{(t)} = \sigma(W_{xo}^{\top}x_{(t)} + W_{ho}^{\top}h_{(t-1)} + b_o) \] \[ - g_{(t)} = \sigma(W_{xg}^{\top}x_{(t)} + W_{hg}^{\top}h_{(t-1)} + b_g) + g_{(t)} = tanh(W_{xg}^{\top}x_{(t)} + W_{hg}^{\top}h_{(t-1)} + b_g) \] \[ c_{(t)} = f_{(t)}\tens{} c_{(t-1)} + i_{(t)}\tens{} g_{(t)} @@ -493,17 +499,29 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow y_{(t)} = h_{(t)} = o_{(t)} \tens{} tanh \left( c_{(t)} \right), \] - gdzie $W_{xi}$, $W_{xf}$, $W_{xo}$, $W_{xg}$ sÄ… to macierze wag dla każdej w czterech warstw poÅ‚Ä…czonych z wektorem wejÅ›ciowym $x_{(t)}$, $W_{hi}$, $W_{hf}$, $W_{ho}$, $W_{hg}$ sÄ… to macierze wag dla każdej w czterech warstw poÅ‚Ä…czonych z poprzednim krótkookresowym stanem $h_{(t-1)}$ a $b_i$, $b_f$, $b_o$, $b_g$to biasy dla każdej z tych warstw. \cite{handson} %\footnote{Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow s.517} + gdzie $W_{xi}$, $W_{xf}$, $W_{xo}$, $W_{xg}$ sÄ… to macierze wag dla każdej w czterech warstw poÅ‚Ä…czonych z wektorem wejÅ›ciowym $x_{(t)}$, $W_{hi}$, $W_{hf}$, $W_{ho}$, $W_{hg}$ sÄ… to macierze wag dla każdej w czterech warstw poÅ‚Ä…czonych z poprzednim krótkookresowym stanem $h_{(t-1)}$, a $b_i$, $b_f$, $b_o$, $b_g$ to biasy dla każdej z tych warstw \cite{handson}. %\footnote{Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow s.517} - Funckja $tanh$ to tangens hiperboliczny, jedna z funkcji sigmoidalnych. To co różni funkcjÄ™ $tanh$ od $\sigma$ to zakres przyjmowanych wartoÅ›ci. Tangens hiperboliczny przyjmuje wartoÅ›ci z przedziaÅ‚u $(-1, 1)$ + Funckja $tanh$ to tangens hiperboliczny, jedna z funkcji sigmoidalnych. Wykres funkcji $tanh$ zostaÅ‚ przedstawiony na rysunku~\ref{fig:tanh} + \[ + tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} + \] + + To co różni funkcjÄ™ $tanh$ od $\sigma$ to zakres przyjmowanych wartoÅ›ci. Tangens hiperboliczny przyjmuje wartoÅ›ci z przedziaÅ‚u $(-1, 1)$. + + \begin{figure}[!htb] + \centering + \includegraphics[width=\linewidth]{images/tanh.png} + \caption{Tangens hiperboliczny} + \label{fig:tanh} + \end{figure} - \subsection{Sequance-to-sequance} + \subsection{Sequence-to-sequence} - Model w architekturze Sequence-to-sequance (\textit{seq2seq}) zostaÅ‚ wynaleziony z myÅ›lÄ… o tÅ‚umaczeniu maszynowym jÄ™zyków, ale zastosowanie dla niego znaleziono również w rozpoznawaniu mowy, opisywaniu wideo, czy tworzeniu chatbotów. Jego głównÄ… zaletÄ… jest przetwarzanie sekwencji elementów o różnych dÅ‚ugoÅ›ciach. Jest to naturalne, ponieważ tÅ‚umaczÄ…c z jÄ™zyka na jÄ™zyk czÄ™sto tÄ… samÄ… sentencjÄ™ można wyrazić różnÄ… liczbÄ™ słów. Dla przykÅ‚adu zdanie po Polsku "Co dzisiaj robisz?" zawiera trzy sÅ‚owa, natomiast przetÅ‚umaczone na Angielski "What are you doing today?" zawiera pięć słów. Nie można tego osiÄ…gnąć zwykÅ‚Ä… sieciÄ… LSTM, dlatego model seq2seq zostaÅ‚ zaprojektowany, aby móc go zastosować do tego typu problemów. \cite{seq2seq} %\footnote{https://towardsdatascience.com/understanding-encoder-decoder-sequence-to-sequence + Model w architekturze Sequence-to-sequance (\textit{ang. seq2seq}) zostaÅ‚ wynaleziony z myÅ›lÄ… o tÅ‚umaczeniu maszynowym jÄ™zyków, ale zastosowanie dla niego znaleziono również w rozpoznawaniu mowy, opisywaniu wideo, czy tworzeniu chatbotów. Jego głównÄ… zaletÄ… jest przetwarzanie sekwencji elementów o różnych dÅ‚ugoÅ›ciach. Jest to naturalne, ponieważ tÅ‚umaczÄ…c z jÄ™zyka na jÄ™zyk czÄ™sto tÄ… samÄ… sentencjÄ™ można wyrazić różnÄ… liczbÄ™ słów. Dla przykÅ‚adu zdanie po Polsku "Co dzisiaj robisz?" zawiera trzy sÅ‚owa, natomiast przetÅ‚umaczone na Angielski "What are you doing today?" zawiera pięć słów. Nie można tego osiÄ…gnąć zwykÅ‚Ä… sieciÄ… LSTM, dlatego model seq2seq zostaÅ‚ zaprojektowany, aby móc go zastosować do tego typu problemów \cite{seq2seq}. %\footnote{https://towardsdatascience.com/understanding-encoder-decoder-sequence-to-sequence %-model-679e04af4346 26.05.2020 14:58} - Model sequence to sequance ma dwie części, encoder i decoder. Obie czeÅ›cie sÄ… w zasadzie dwiema zupeÅ‚nie innymi modelami, poÅ‚Ä…czonymi ze sobÄ… w jednÄ… wielkÄ… sieć. + Model sequence-to-sequance ma dwie części, encoder i decoder. Obie czeÅ›cie sÄ… w zasadzie dwiema zupeÅ‚nie osobnymi modelami, poÅ‚Ä…czonymi ze sobÄ… w jednÄ… sieć. Zadaniem encodera, podobnie jak zostaÅ‚o to opisane w rozdziale~\ref{section:autoencoder} o autoencoderze, jest wydobycie z wektora wejÅ›ciowego najistotniejszych informacji i skompresowanie ich. NastÄ™pnie wektor stanu encodera jest przekazywany do decodera, który na jego podstawie rekonstruuje sekwencjÄ™. @@ -514,11 +532,10 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \label{fig:seq2seq} \end{figure} - WiÄ™cej szczegółów technicznych dotyczÄ…ych modelu sequance-to-sequance przedstawiÄ™ w dalszych rozdziaÅ‚ach pracy. - - + WiÄ™cej szczegółów technicznych dotyczÄ…ych modelu sequence-to-sequence przedstawiÄ™ w dalszych rozdziaÅ‚ach pracy. + -\chapter{Reprezentacja danych muzycznych} +\chapter{Wprowadzenie do teorii muzyki} W tym rozdziale przedstawiÄ™ podstawowe koncepcje muzyczne, sposoby reprezentacji muzyki. @@ -528,10 +545,10 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow Drgania powietrza z otoczenia czÅ‚owieka sÄ… przetwarzane w mózgu i rozumiane jako dźwiÄ™ki. Takie drgania nazywamy falÄ… dźwiÄ™kowÄ…. DzwiÄ™k muzyczny jest to fala dźwiÄ™kowa, którÄ… wytwarza intrument muzyczny. DzwiÄ™k muzyczny charakteryzuje siÄ™ trzema podstawowymi parametrami: \begin{itemize} - \item wysokoÅ›ciÄ… (\textit{pitch}) - jest to czÄ™stotliwość drgaÅ„ wyrażona w hercach. Im wiÄ™ksza czÄ™stotliwość tym dzźiÄ™k jest rozumiany jako wyższy, + \item wysokoÅ›ciÄ… (\textit{ang. pitch}) - jest to czÄ™stotliwość drgaÅ„ wyrażona w hercach. Im wiÄ™ksza czÄ™stotliwość tym dzźiÄ™k jest rozumiany jako wyższy, Zakres sÅ‚yszalny dla czÅ‚owieka wynosi od 20Hz do 20kHz. - \item gÅ‚oÅ›ność (\textit{velocity}) - jest to amplituda drgaÅ„ fali dźwiÄ™kowej. Im wiÄ™ksza aplituda, tym dźwiÄ™k jest odczuwany jako gÅ‚osniejszy, - \item dÅ‚ugość (\textit{duration}) - jest to czas z jakim dźwiÄ™k wybrzmiewa, np. 2 sekundy. + \item gÅ‚oÅ›ność (\textit{ang. velocity}) - jest to amplituda drgaÅ„ fali dźwiÄ™kowej. Im wiÄ™ksza aplituda, tym dźwiÄ™k jest odczuwany jako gÅ‚osniejszy, + \item dÅ‚ugość (\textit{ang. duration}) - jest to czas z jakim dźwiÄ™k wybrzmiewa, np. 2 sekundy. \end{itemize} % PrzykÅ‚ad dźwiÄ™ku myczynego przedstawiono na Rusynku~\ref{fig:sine} @@ -545,7 +562,7 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow \subsection{SygnaÅ‚ dźwiÄ™kowy} - W rzeczywistoÅ›ci utwór muzyczny jest zazwyczaj kombinacjÄ… wielu fal dźwiÄ™kowych, o różnych charaketystykach i nazwywany jest sygnaÅ‚em dźwiÄ™kowym. WizualizacjÄ™ sygnalu dźwiÄ™kowego przedstawiono na Rysunku~\ref{fig:waveform} + W rzeczywistoÅ›ci utwór muzyczny jest zazwyczaj kombinacjÄ… wielu fal dźwiÄ™kowych, o różnych charaketystykach i nazwywany jest sygnaÅ‚em dźwiÄ™kowym. WizualizacjÄ™ sygnalu dźwiÄ™kowego przedstawiono na Rysunku ~\ref{fig:waveform} \begin{figure}[!htb] \centering @@ -559,20 +576,24 @@ JednoczeÅ›nie przyjmujÄ™ do wiadomoÅ›ci, że przypisanie sobie, w pracy dyplomow Reprezentacja muzyki jako sygnaÅ‚u dźwiÄ™kowego przechowuje informacje o dokÅ‚adnym brzmieniu danego utworu tzn. jakie drgania należy wytworzyć, aby móc odtwozyć muzykÄ™. Taki zapis nie informuje nas bezpoÅ›rednio jakie instrumenty zostaÅ‚y użyte, jakie wysokoÅ›ci i dÅ‚ugoÅ›ci dźwiÄ™ków zostaÅ‚y wykorzystane. Dlatego ludzkość na przestrzeni wieków opracowaÅ‚a abstrakcyjne objekty, które reprezentujÄ… utwór w czytelny dla czÅ‚owieka sposób. \subsubsection{Tempo} - W muzyce symbolicznej tempo informuje nas o prÄ™dkoÅ›ci utworu. W muzyce klasycznej stosowaÅ‚o siÄ™ opisowy sposób dostosowywania tempa np. Allegro - Szybko lub Adagio - wolno. Jak można szybko stwierdzić sÄ… to zwroty subiektywne i nie wyznaczajÄ… tempa jednoznacznie. Obecnie wyraża siÄ™ tempo w liczbie uderzeÅ„ na minutÄ™ (\textit{beats per minute - BPM}). I tak Allegro jest to od 120 do 168 BPM a Adagio od 66 do 76 BPM. \cite{tempos} % \footnote{źródlo: http://www.classicalmusiccity.com/search/article.php?vars=446/ + W muzyce symbolicznej tempo informuje nas o prÄ™dkoÅ›ci utworu. W muzyce klasycznej stosowaÅ‚o siÄ™ opisowy sposób dostosowywania tempa np. Allegro - Szybko lub Adagio - wolno. Jak można szybko stwierdzić sÄ… to zwroty subiektywne i nie wyznaczajÄ… tempa jednoznacznie. Obecnie wyraża siÄ™ tempo w liczbie uderzeÅ„ na minutÄ™ (\textit{ang. beats per minute; BPM}). I tak Allegro jest to od 120 do 168 BPM a Adagio od 66 do 76 BPM \cite{tempos}. % \footnote{źródlo: http://www.classicalmusiccity.com/search/article.php?vars=446/ % Basic-Tempo-Markings.html 5 kwietnia 19:37 % } \subsubsection{Nuta} - Nuta jest to graficzna reprezentacja dźwiÄ™ku muzycznego. Informuje nas ona o dwóch parametrach dźwiÄ™ku, wysokoÅ›ci oraz dÅ‚ugoÅ›ci dźwiÄ™ku. DÅ‚ugość dźwiÄ™ku nazywa siÄ™ jej wartoÅ›ciÄ…. PodstawowÄ… wartoÅ›ciÄ… nuty jest ćwierćnuta, odpowiada ona jednemu uderzeniu (\textit{beat}). Ta wartość pozwala nam zrozumieć jak dÅ‚ugo nalezy wygrywać nutÄ™ relatywnie do pozostaÅ‚ych nut w utworze. JeÅ›li obok siebie ustawimy dwie nuty o wartoÅ›ciach ćwirćnuty i ósemki, wiemy że tÄ™ drugÄ… nutÄ™ powinniÅ›my zagrać dwa razy krócej niż pierwszÄ…. Aby wiedzieć dokÅ‚adnie jak dlugo powinna wybrzmiewać nuta musimy odwoÅ‚ać siÄ™ do tempa utworu. Dla przykÅ‚adu w tempie 60 BPM w ciÄ…gu minuty zagramy dokÅ‚adnie 60 ćwierć nut. Kolejne wartoÅ›ci tworzone poprzez sumowanie lub podziaÅ‚ dÅ‚ugoÅ›ci ćwierćnuty. Półnuta trwa tyle co dwie ćwierćnuty, caÅ‚a nuta tyle co dwie półnuty, ósemka trwa poÅ‚owÄ™ czasu ćwiercnuty, a szesnastka poÅ‚owÄ™ ósemki itd. + Nuta jest to graficzna reprezentacja dźwiÄ™ku muzycznego. Informuje nas ona o dwóch parametrach dźwiÄ™ku, wysokoÅ›ci oraz dÅ‚ugoÅ›ci dźwiÄ™ku. DÅ‚ugość dźwiÄ™ku nazywa siÄ™ jej wartoÅ›ciÄ…. PodstawowÄ… wartoÅ›ciÄ… nuty jest ćwierćnuta, odpowiada ona jednemu uderzeniu (\textit{ang. beat}). Ta wartość pozwala nam zrozumieć jak dÅ‚ugo nalezy wygrywać nutÄ™ relatywnie do pozostaÅ‚ych nut w utworze. JeÅ›li obok siebie ustawimy dwie nuty o wartoÅ›ciach ćwirćnuty i ósemki, wiemy że tÄ™ drugÄ… nutÄ™ powinniÅ›my zagrać dwa razy krócej niż pierwszÄ…. Aby wiedzieć dokÅ‚adnie jak dlugo powinna wybrzmiewać nuta musimy odwoÅ‚ać siÄ™ do tempa utworu. Dla przykÅ‚adu w tempie 60 BPM w ciÄ…gu minuty zagramy dokÅ‚adnie 60 ćwierć nut. Kolejne wartoÅ›ci tworzone poprzez sumowanie lub podziaÅ‚ dÅ‚ugoÅ›ci ćwierćnuty. Półnuta trwa tyle co dwie ćwierćnuty, caÅ‚a nuta tyle co dwie półnuty, ósemka trwa poÅ‚owÄ™ czasu ćwiercnuty, a szesnastka poÅ‚owÄ™ ósemki itd. \begin{figure}[!htb] \centering \includegraphics[width=\linewidth]{images/wartosc_nut.jpg} - \caption{źródlo: https://www.infomusic.pl/poradnik/46934,poradnik-teoria-muzyki-rytm 5 kwietnia 2020 12:46} + \caption[]{PodziaÅ‚ wartoÅ›ci nut\footnotemark} \label{fig:waveform} \end{figure} + \footnotetext{źródlo: https://www.infomusic.pl/poradnik/46934,poradnik-teoria-muzyki-rytm + \newline + 5 kwietnia 2020 12:46} + Tak jak pisaÅ‚em wczeÅ›niej, wysokość dźwiÄ™ku jest to czÄ™stotliwość drgaÅ„ fali dźwiÄ™kowej wyrażona w hercach. W muzyce symbolicznej dla uproszczenia wybrane czÄ™stotliwoÅ›ci zostaÅ‚y nazwane literami alfabetu C, D, E, F, G, A, H. Każdej literze przypisana jest czÄ™stotliwość zgodnie z TabelÄ…~\ref{table:dzwieki} diff --git a/docs/document.toc b/docs/document.toc index 787ff4d..34e9554 100644 --- a/docs/document.toc +++ b/docs/document.toc @@ -9,19 +9,19 @@ \contentsline {subsection}{\numberline {1.2.3\relax .\leavevmode@ifvmode \kern .5em }Metody gradientowe}{15}% \contentsline {section}{\numberline {1.3\relax .\leavevmode@ifvmode \kern .5em }Regresja liniowa jako model sieci neuronowej}{17}% \contentsline {section}{\numberline {1.4\relax .\leavevmode@ifvmode \kern .5em }Funkcje aktywacji}{19}% -\contentsline {section}{\numberline {1.5\relax .\leavevmode@ifvmode \kern .5em }G\IeC {\l }\IeC {\k e}bokie sieci neuronowe}{20}% +\contentsline {section}{\numberline {1.5\relax .\leavevmode@ifvmode \kern .5em }Wielowarstwowe sieci neuronowe}{19}% \contentsline {subsection}{\numberline {1.5.1\relax .\leavevmode@ifvmode \kern .5em }Jednokierunkowe sieci neuronowe}{20}% \contentsline {subsection}{\numberline {1.5.2\relax .\leavevmode@ifvmode \kern .5em }Autoencodery}{21}% \contentsline {subsection}{\numberline {1.5.3\relax .\leavevmode@ifvmode \kern .5em }Rekurencyjne sieci neuronowe}{22}% \contentsline {subsection}{\numberline {1.5.4\relax .\leavevmode@ifvmode \kern .5em }LSTM}{23}% -\contentsline {subsection}{\numberline {1.5.5\relax .\leavevmode@ifvmode \kern .5em }Sequance-to-sequance}{25}% -\contentsline {chapter}{Rozdzia\PlPrIeC {\l }\ 2\relax .\leavevmode@ifvmode \kern .5em Reprezentacja danych muzycznych}{27}% +\contentsline {subsection}{\numberline {1.5.5\relax .\leavevmode@ifvmode \kern .5em }Sequence-to-sequence}{25}% +\contentsline {chapter}{Rozdzia\PlPrIeC {\l }\ 2\relax .\leavevmode@ifvmode \kern .5em Wprowadzenie do teorii muzyki}{27}% \contentsline {section}{\numberline {2.1\relax .\leavevmode@ifvmode \kern .5em }Podstawowe koncepcje}{27}% \contentsline {subsection}{\numberline {2.1.1\relax .\leavevmode@ifvmode \kern .5em }D\IeC {\'z}wi\IeC {\k e}k muzyczny}{27}% \contentsline {subsection}{\numberline {2.1.2\relax .\leavevmode@ifvmode \kern .5em }Sygna\IeC {\l } d\IeC {\'z}wi\IeC {\k e}kowy}{27}% \contentsline {subsection}{\numberline {2.1.3\relax .\leavevmode@ifvmode \kern .5em }Zapis nutowy}{27}% -\contentsline {section}{\numberline {2.2\relax .\leavevmode@ifvmode \kern .5em }Cyfrowa reprezentacja muzyki symbolicznej}{30}% -\contentsline {subsection}{\numberline {2.2.1\relax .\leavevmode@ifvmode \kern .5em }Standard MIDI}{30}% +\contentsline {section}{\numberline {2.2\relax .\leavevmode@ifvmode \kern .5em }Cyfrowa reprezentacja muzyki symbolicznej}{31}% +\contentsline {subsection}{\numberline {2.2.1\relax .\leavevmode@ifvmode \kern .5em }Standard MIDI}{31}% \contentsline {chapter}{Rozdzia\PlPrIeC {\l }\ 3\relax .\leavevmode@ifvmode \kern .5em Projekt}{33}% \contentsline {section}{\numberline {3.1\relax .\leavevmode@ifvmode \kern .5em }Koncepcja}{33}% \contentsline {section}{\numberline {3.2\relax .\leavevmode@ifvmode \kern .5em }Przygotowanie danych}{34}% diff --git a/docs/images/naural_model_multi_ver2.png b/docs/images/naural_model_multi_ver2.png new file mode 100644 index 0000000..04c9d82 Binary files /dev/null and b/docs/images/naural_model_multi_ver2.png differ diff --git a/docs/images/naural_model_one_ver2.png b/docs/images/naural_model_one_ver2.png new file mode 100644 index 0000000..09db9c3 Binary files /dev/null and b/docs/images/naural_model_one_ver2.png differ diff --git a/docs/images/neural_net_1_ver2.png b/docs/images/neural_net_1_ver2.png new file mode 100644 index 0000000..e6d56cb Binary files /dev/null and b/docs/images/neural_net_1_ver2.png differ diff --git a/docs/images/plots.py b/docs/images/plots.py new file mode 100644 index 0000000..f1592c3 --- /dev/null +++ b/docs/images/plots.py @@ -0,0 +1,108 @@ +#%% Change working directory from the workspace root to the ipynb file location. Turn this addition off with the DataScience.changeDirOnImportExport setting +# ms-python.python added +import os +try: + os.chdir(os.path.join(os.getcwd(), 'docs\\images')) + print(os.getcwd()) +except: + pass + +#%% +import music21 +from music21.midi import MidiFile + +import numpy as np +import matplotlib.pyplot as plt +import mido + +#%% [markdown] +# # midi messages + +#%% +filepath = '/home/altarin/praca-magisterska/docs/images/seq2seq_generated_midi_7.mid' +mid = mido.MidiFile(filepath) +for i, track in enumerate(mid.tracks): + for msg in track: + print(msg) + +#%% [markdown] +# # Regresja liniowa + +#%% +x = np.arange(0,10) +y = np.arange(0,10) + np.random.random(10)-0.5 +y_hat = np.arange(0,10) +plt.scatter(x, y, c='k') +plt.plot(x,y_hat, c='r') +# plt.labels +# plt.savefig('linear_reg.png') + +#%% +from math import exp + +x = np.arange(-10,10, 0.1) +# y = np.arange(0,10) + +tanh = lambda x: (exp(x) - exp(-x))/(exp(x) + exp(-x)) + +y_hat = [tanh(yy) for yy in x] +# plt.scatter(x, y, c='k') +plt.plot(x, y_hat) +# plt.show() +# plt.labels +plt.savefig('tanh.png') + +#%% +# Gradient descent + +fx = x^2 +dx = 2x + c + + + + +#%% +func = lambda x: x**2 +func_dx = lambda x:2*x + +x = np.arange(-20,20,0.1) +y = func(x) + +point_x = -6 +point_y = func(point_x) + + + +dx = styczna(x) + +learning_points_xs = np.arange(point_x, 0, 0.8) +learning_points_ys = func(learning_points_xs) + +fig, ax = plt.subplots() +ax.plot(x, y, c='k') + +for px in learning_points_xs[0:1]: + slope = func_dx(px) + intercept = -px**2 + styczna = lambda x: slope*x + intercept + dx = styczna(x) + ax.plot(x, dx, c='r', zorder=1) + +ax.scatter(x=point_x, y=point_y, c='r', zorder=6) #start +# ax.scatter(x=0, y=0, c='g', zorder=6) #min +# ax.scatter(x=learning_points_xs, y=learning_points_ys, c='y', zorder=5) +plt.ylim((-20,80)) +plt.xlim((-20,20)) +# plt.xlabel('x') +# plt.ylabel('f(x) = x^2') + +plt.savefig('gradient_descent_1.png') + +# https://towardsdatascience.com/understanding-the-mathematics-behind-gradient-descent-dde5dc9be06e? +# https://medium.com/code-heroku/gradient-descent-for-machine-learning-3d871fa48b4c + + +#%% + + + diff --git a/docs/images/tanh.png b/docs/images/tanh.png new file mode 100644 index 0000000..f57ccff Binary files /dev/null and b/docs/images/tanh.png differ