diff --git a/wyk/09_neurozoo.org b/wyk/09_neurozoo.org index 56669ea..4586151 100644 --- a/wyk/09_neurozoo.org +++ b/wyk/09_neurozoo.org @@ -156,6 +156,9 @@ Definicja w PyTorchu: : tensor([0.1182, 0.0022, 0.0059, 0.8737]) :end: +#+CAPTION: Softmax +[[./softmax.png]] + *** Soft vs hard Dlaczego /softmax/? Czasami używa się funkcji *hardmax*, która np. @@ -333,7 +336,7 @@ Podstawowym zastosowaniem funkcji softmax jest klasyfikacja wieloklasowa, również w wypadku zadań przetwarzania sekwencji, które mogą być interpretowane jako klasyfikacja wieloklasowa: -- przewidywanie kolejnego słowa w modelowaniu języka (klasą jest słowo, zbiór klas to słownik) +- przewidywanie kolejnego słowa w modelowaniu języka (klasą jest słowo, zbiór klas to słownik, np. klasą początku tekstu /Dzisiaj rano kupiłem w piekarni/ może być /bułki/) - przypisywanie etykiet (np. części mowy) słowom. ** LogSoftmax @@ -394,7 +397,7 @@ Wczytujemy zbiór uczący: #+RESULTS: :results: -# Out[23]: +# Out[85]: #+BEGIN_EXAMPLE {'zimowe': 0, 'moto': 1, @@ -480,7 +483,7 @@ Pętla ucząca: #+RESULTS: :results: -# Out[25]: +# Out[86]: :end: Model jest tak prosty, że jego wagi są interpretowalne. @@ -507,10 +510,22 @@ Model jest tak prosty, że jego wagi są interpretowalne. #+RESULTS: :results: -# Out[32]: +# Out[89]: #+BEGIN_EXAMPLE - tensor([-2.3693, -2.3421, -2.4205, -2.4353, -2.1499, 2.5163, -2.4351, -2.4546], - grad_fn=) + Parameter containing: + tensor([[ 7.8818e-04, 1.0930e-03, 5.9632e-04, ..., 8.1697e-04, + 1.2976e-03, -8.4243e-04], + [-1.0164e-03, -8.9416e-04, -1.8650e-03, ..., 6.6075e-04, + -5.4883e-04, -1.1845e-03], + [-3.1395e-04, 1.8564e-03, -7.0267e-04, ..., -4.7028e-04, + 7.0584e-04, 9.8026e-04], + ..., + [ 4.8792e-05, 1.9183e-03, 1.3152e-03, ..., 4.6495e-04, + 9.5338e-04, 1.9107e-03], + [-5.2181e-04, 1.1135e-03, 7.1943e-04, ..., 3.7215e-04, + 1.0002e-03, -1.7985e-03], + [-9.1641e-04, 1.6301e-03, 1.7372e-03, ..., 1.2390e-03, + -9.1001e-04, 1.5711e-03]], requires_grad=True) #+END_EXAMPLE :end: diff --git a/wyk/softmax.drawio b/wyk/softmax.drawio new file mode 100644 index 0000000..e1d038e --- /dev/null +++ b/wyk/softmax.drawio @@ -0,0 +1 @@ +7VrbctowEP0aHuPRxTb2Y8ilmXYyzQztNOmbByug1liMEAHy9ZVr+SKJBOIYTGnykLHW8lo651ja1dLDF9PVJx7NJrcsJkkPgXjVw5c9hEIXyv+ZYZ0bPIxzw5jTODfByjCkz0QZgbIuaEzmWkfBWCLoTDeOWJqSkdBsEedsqXd7ZIn+1lk0JpZhOIoS2/qDxmKSWwPUr+w3hI4nxZuhH+Z3plHRWc1kPolitqyZ8FUPX3DGRH41XV2QJMOuwCV/7vqFu+XAOEnFLg+g65+f+VW8GoQPXyi5dAffxc2Z8vIUJQs1YTVYsS4Q4GyRxiRzAnp4sJxQQYazaJTdXUrKpW0ipolsQXmp3BEuyOrFccJy9lI1hE2J4GvZRT2AgAJMKQZ5qr2s8MeFbVLHvkA6UpyPS98VLPJCIfMGlPoWSsjxLKDklIWOxlxw9ptcsIRxaUlZKnsOHmmSGKYooeNUNkcSIiLtgwxAKkV4rm5MaRxnr9kIv05QGwwgnQG4gQF3AwF7wz+w8D+DjnvCBIRHRkBoEYBPF33cPzL0i72wBj9wgtMlwHWPjQC0fZskaXyexRsZjEk0n9ORzoWcO1/fZyA50p1qP8j2GXCA3y8slyuFY95a11t3hFM5oYyh3LiiIvcI+ki1H4rXyevKV9ZY1xqmp3w2JLZiIYMyOWO24CPyClb5ymBzW+Nu0+Zd2DhJIkGf9HFsIlS94Y5ROcJq5cShJh3s9x1geMmnoB6sB0ymryJ2Vb5cjJww1H2JiI+JsHz9VVk5+XcID7cgvFIlGPTrKnH+Y51gYOgkAM1EgqEpEnBYhbhHuTTtKpTO+A/MdaIp/6HBP/KcMDisBLwPCTSQgOu1JAHX714CviUB4Hh9SwYnEyKaMbrbeYhop0hyw/2PDgk6ZwBtypIAOOGPwDwm6J4C+zgx2z5OlwEzU+2eATtTJauZRcDBz3SNxQL5Nk6lmutAmdF0e0DZmVXK+FTq6zka/Yp65an98YCGceegtZBs9NpLIbvNIIzFF4Om4aOxhpQDPFDsiOzY8c2k1tIH4Pv1/EEaMN5n+oBAjs/WRfFYjqRg2FAoqGuh2GWwf0koHR41FcXCQgFB2PhQMvPmu6D801NPZOaw+5aEXZn7kMTb9453CSIEDjweQdhp8IcgdjiL8tsThPR1RILAdko4/Hr97fb83tLFyWSFEG7Pdg6aFeI2igS1YqOvl5H8oqy0eyGp9o172he+5eve9UPepQClMNgePnZaqYLmEUPTPAOaCcuBw0fcRpmiqmUiqIuw01pmtwmGh+S+GFZ/vs4z8JoHF74eueIDVzdxG7lpqRkvxJpmwMfCtU9Z+q/LEr5DloEhy0MvZW2kPaUsA5lFvXc/PZnFzEyNXNhwu9vf0iWb1a+28+7VT9/x1R8= \ No newline at end of file diff --git a/wyk/softmax.png b/wyk/softmax.png new file mode 100644 index 0000000..dad4090 Binary files /dev/null and b/wyk/softmax.png differ