ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Ρ TensorFlow π»
ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅! ΠΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π»ΠΈ ΠΊΠ°ΠΊ ΡΠ΅Π·ΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ, ΡΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ Ρ Π°ΡΠ΅ΡΠ°Ρ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ Π²ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
Π’Π΅Π·ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π½Π΅ ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ, Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΌΠΈΠ½Π°Π»ΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈ Π±ΡΠ΄Π΅ΡΠΎΡΠΎ ΠΈΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ.
ΠΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π°Ρ Π° Π² ΡΠ΅ΡΠ°Π²Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ½Π»Π°ΠΉΠ½ Π±ΠΈΠ·Π½Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΡΡΠ³ΠΎΠ²ΠΈΡ, ΠΌΠ΅Π΄ΠΈΠΈ ΠΈ ΡΠΎΡΠΈΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ. Π’Π΅Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΡ Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΈΠ·ΠΆΠΈΠ²ΡΠ²Π°Π½Π΅ ΡΡΠ΅Π· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π° Π½Π° Π±ΠΈΠ·Π½Π΅ΡΠ° Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΠ΅ ΡΠΈ ΡΡΠ΅Π· ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½ΠΎΡΡΡΠ° ΠΈ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅.
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΠΏΡΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° TensorFlow.
π» ΠΠΈΠ΄ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ
TensorFlow Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΡ Google, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅. Π©Π΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΌΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΡΡΠΈ Π²ΠΈΠ΄Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ:
- ΠΠ°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅
- Π₯ΠΈΠ±ΡΠΈΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ
π― ΠΠ°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π΅ Ρ Π°ΡΠ΅ΡΠ°Π» ΠΈΠ»ΠΈ Ρ ΠΊΠΎΠΈΡΠΎ Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Π». Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π΅ ΠΏΡΠΎΡΠ²ΠΈΠ» ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, ΠΊΠ°ΡΠΎ ΡΠ΅Ρ Π½ΠΈΡ ΠΆΠ°Π½Ρ, ΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ Π°Π²ΡΠΎΡ, ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π΄Π°Π΄Π΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π΅ Π³Π»Π΅Π΄Π°Π» Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΠΊΡΡΠ½ ΡΠΈΠ»ΠΌΠ° Π½Π° ΡΡΡΠΈΠΉΠΌΠΈΠ½Π³ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΅ΠΊΡΡΠ½ ΡΠΈΠ»ΠΌΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΆΠ°Π½ΡΠ°.
π― Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅
Π‘ΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π°ΡΡΠΈΠΊΡΠ»ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π΄Π²Π°ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈΠΌΠ°Ρ ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π΅ Ρ Π°ΡΠ΅ΡΠ°Π» Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π».
π― Π₯ΠΈΠ±ΡΠΈΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ
Π₯ΠΈΠ±ΡΠΈΠ΄Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ ΡΡΡΠ΅ΡΠ°Π²Π°Ρ ΡΠΈΠ»Π½ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π·Π° Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎ-ΡΠΎΡΠ½ΠΈ ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΊΠ°ΠΊΡΠΎ Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅, Ρ ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Π», ΡΠ°ΠΊΠ° ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡ, Π·Π° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ.
π§ ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, Ρ TensorFlow
Π ΡΠΎΠ·ΠΈ ΡΠ°Π·Π΄Π΅Π» ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ TensorFlow. Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠΈΠ»ΠΌΠΈ ΠΈ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌΠ΅ ΡΠΈΠ»ΠΌΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΆΠ°Π½ΡΠΎΠ²Π΅.
π Π‘ΡΡΠΏΠΊΠ° 1: ΠΠΌΠΏΠΎΡΡΠΈΡΠ°ΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π·Π°ΡΠ΅Π΄Π΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ
ΠΠ° Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ TensorFlow, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π΄Π° Π·Π°ΡΠ΅Π΄ΠΈΠΌ Π½Π°Π±ΠΎΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ. Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° pandas Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ TensorFlow Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°.
import pandas as pd import tensorflow as tf # Load the data movies_df = pd.read_csv('movies.csv')
π Π‘ΡΡΠΏΠΊΠ° 2: ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ ΠΆΠ°Π½ΡΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠΈΠ»ΠΌΠΈΡΠ΅ ΠΈ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π΅Π΄Π½ΠΎ Π³ΠΎΡΠ΅ΡΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΆΠ°Π½Ρ.
# Preprocess the data genres = movies_df['genres'].str.get_dummies('|')
π Π‘ΡΡΠΏΠΊΠ° 3: ΠΠ·Π³ΡΠ°Π΄Π΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Π°
Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Keras API, ΠΊΠΎΠΉΡΠΎ Π΅ API ΠΎΡ Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡ Ρ TensorFlow, Π·Π° Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Π°. Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π° ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΊΠΎΡΠΈΠ½ΡΡ, Π·Π° Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ»ΠΌΠΈΡΠ΅ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΆΠ°Π½ΡΠΎΠ²Π΅.
# Build the model input_shape = genres.shape[1] model = tf.keras.models.Sequential([ tf.keras.layers.Dense(64, activation='relu', input_shape=(input_shape,)), tf.keras.layers.Dense(32, activation='relu'), tf.keras .layers.Dense(input_shape, activation='softmax') ]) model.compile(optimizer='adam', loss='categorical_crossentropy')
π Π‘ΡΡΠΏΠΊΠ° 4: ΠΠ±ΡΡΠ΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Π°
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Π°, Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ ΠΎΠ±ΡΡΠΈΠΌ Π²ΡΡΡ Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° fit(), Π·Π° Π΄Π° ΠΎΠ±ΡΡΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° 10 Π΅ΠΏΠΎΡ ΠΈ.
# Train the model model.fit(genres, genres, epochs=10)
π Π‘ΡΡΠΏΠΊΠ° 5: ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΎΠ±ΡΡΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Π°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, Π·Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ. Π©Π΅ ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΡΠΈΠ»ΠΌ ΠΎΡ Π½Π°Π±ΠΎΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ ΠΊΠΎΡΠΈΠ½ΡΡΠ½ΠΎΡΠΎ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ·ΠΈ ΡΠΈΠ»ΠΌ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ ΡΠΈΠ»ΠΌΠΈ Π² Π½Π°Π±ΠΎΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°ΠΌΠ΅ 5-ΡΠ΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΡΠΈΠ»ΠΌΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΈΠΌ Π·Π° ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ.
# Make recommendations movie_idx = 0 similarities = tf.keras.losses.cosine_similarity(model(genres[movie_idx:movie_idx+1]), genres) similarities = similarities.numpy().flatten() similarities_argsort = similarities.argsort()[::-1] top_similar = similarities_argsort[1:6] print(f"Top 5 recommended movies for {movies_df.iloc[movie_idx]['title']}:") for idx in top_similar: print(f"- {movies_df.iloc[idx]['title']}")
ΠΡΠΎ ΡΠ΅Π»ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠΏΠΊΠΈ:
import pandas as pd import tensorflow as tf # Load the data movies_df = pd.read_csv('movies.csv') # Preprocess the data genres = movies_df['genres'].str.get_dummies('|') # Build the model input_shape = genres.shape[1] model = tf.keras.models.Sequential([ tf.keras.layers.Dense(64, activation='relu', input_shape=(input_shape,)), tf.keras.layers.Dense(32, activation='relu'), tf.keras.layers.Dense(input_shape, activation='softmax') ]) model.compile(optimizer='adam', loss='categorical_crossentropy') # Train the model model.fit(genres, genres, epochs=10) # Make recommendations movie_idx = 0 similarities = tf.keras.losses.cosine_similarity(model(genres[movie_idx:movie_idx+1]), genres) similarities = similarities.numpy().flatten() similarities_argsort = similarities.argsort()[::-1] top_similar = similarities_argsort[1:6] print(f"Top 5 recommended movies for {movies_df.iloc[movie_idx]['title']}:") for idx in top_similar: print(f"- {movies_df.iloc[idx]['title']}")
Π’ΠΎΠ·ΠΈ ΠΊΠΎΠ΄ΠΎΠ² ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π·Π°ΡΠ΅ΠΆΠ΄Π° Π½Π°Π±ΠΎΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠΈΠ»ΠΌΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΡΠ΅Π· ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΆΠ°Π½ΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΠΌΠΎΠ΄Π΅Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Keras API, ΠΎΠ±ΡΡΠ°Π²Π° ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° 10 Π΅ΠΏΠΎΡ ΠΈ ΠΈ Π½Π°ΠΊΡΠ°Ρ ΠΏΡΠ°Π²ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ ΡΡΠ΅Π· ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ ΠΊΠΎΡΠΈΠ½ΡΡΠ½ΠΎΡΠΎ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ·Π±ΡΠ°Π½ ΡΠΈΠ»ΠΌ ΠΈ Π²ΡΠΈΡΠΊΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΈΠ»ΠΌΠΈ Π² Π½Π°Π±ΠΎΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ.
π‘ ΠΠΎΡΠ»Π΅Π΄Π½ΠΈ ΠΌΠΈΡΠ»ΠΈ
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΡΠ΄ΠΈΡ ΠΌΠ΅ Π²Π°ΠΆΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π² Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π°ΡΠ° ΡΡΡΠ³ΠΎΠ²ΠΈΡ, ΠΌΠ΅Π΄ΠΈΠΈΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΠ±ΡΡΠ΄ΠΈΡ ΠΌΠ΅ ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠΈΠΏΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ: Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ, ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΈ Ρ ΠΈΠ±ΡΠΈΠ΄Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Ρ ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ TensorFlow. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠΈΠ»ΠΌΠΈ ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Ρ ΠΌΠ΅ ΡΠΈΠ»ΠΌΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΆΠ°Π½ΡΠΎΠ²Π΅. ΠΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΌΠ΅ ΠΏΡΠ΅Π· ΡΡΡΠΏΠΊΠΈΡΠ΅ Π½Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°, ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° ΠΈ ΠΈΠ·Π³ΠΎΡΠ²ΡΠ½Π΅ Π½Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ.
ΠΠ°Π΄ΡΠ²Π°ΠΌΠ΅ ΡΠ΅, ΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π²ΠΈ Π΅ Π΄Π°Π»Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° TensorFlow. Π§Π΅ΡΡΠΈΡΠ° ΡΠ³ΡΠ°Π΄Π°!
ΠΡΠΎ Π½ΡΠΊΠΎΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠΈΡΠ°Ρ , Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΠΈΡΠ° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ:
- IBM Developer β Π‘ΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ: https://developer.ibm.com/technologies/artificial-intelligence/articles/recommendation-system-overview/
- Neal Lathia β ΠΠΈΠ΄ΠΎΠ²Π΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅: https://towardsdatascience.com/types-of-recommendation-engines-and-how-to-build-them-92af963bfcf5
- ΠΠ°ΠΉΡΡΠΎΡΡΡΠ²ΠΎ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ β Π‘ΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°Π½Π΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅: https://machinelearningmastery.com/content-based-recommender-systems-in-python/
- ΠΠ°ΠΉΡΡΠΎΡΡΡΠ²ΠΎ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ β Π‘ΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅: https://machinelearningmastery.com/collaborative-filtering-for-recommendations-in-python/
- ΠΠ°ΠΉΡΡΠΎΡΡΡΠ²ΠΎ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ β Π₯ΠΈΠ±ΡΠΈΠ΄Π½ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ: https://machinelearningmastery.com/hybrid-recommender-systems-in-python/
- Rajalingappaa Shanmugamani β Π£ΡΠΎΠΊ Π·Π° TensorFlow: ΠΠ·Π³ΡΠ°Π΄Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ: https://heartbeat.fritz.ai/build-your-own-recommendation-system-with-tensorflow-cf8b6cfd1c7a
- ΠΠ°ΡΡΠΈΠ½ ΠΠ±Π°Π΄ΠΈ ΠΈ Π΄Ρ. β TensorFlow: Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΈΡΠΎΠΊΠΎΠΌΠ°ΡΠ°Π±Π½ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅: https://www.usenix.org/system/files/conference/osdi16/osdi16-abadi.pdf
ΠΠ°Π΄ΡΠ²Π°ΠΌ ΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π΄Π° Π²ΠΈ Π΅ Π±ΠΈΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½Π°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²ΠΈ, ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΠΈΡ ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅.
ΠΠΊΠΎ Π²ΠΈ Π΅ Ρ Π°ΡΠ΅ΡΠ°Π»Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ, ΠΈΠ·Ρ Π²ΡΡΠ»Π΅ΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΡΡΠ΅Π΄Π½Π° Π»ΡΠ±ΠΎΠ²...πΡΡΠΊΠΎΠΏΠ»ΡΡΠΊΠ°Π½Π΅,π¬ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈ Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π΄Π°π€+ ΡΠ»Π΅Π΄Π²Π°ΡΠ΅.
ΠΠΎΠΉ ΡΡΠΌ Π°Π·? ΠΠ· ΡΡΠΌ ΠΠ΅ΠΉΠ± Π, ΠΎΠΏΠΈΡΠ΅Π½ Π°ΡΡ ΠΈΡΠ΅ΠΊΡ ΠΈ ΠΏΠΈΡΠ°ΡΠ΅Π» Π·Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΄Π΅ΡΠ΅ΡΠΈΠ»Π΅ΡΠΈΠ΅ ΠΎΠΏΠΈΡ Π² SQL, Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ AI. ΠΠ°ΠΏΠ°Π»Π΅Π½ ΠΏΠΎ ΡΠ΅ΠΌΠΈ ΠΊΠ°ΡΠΎ Python, ΡΠΈΠ½Π°Π½ΡΠΈ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ, ΡΡΠ°Π½Π°Ρ Π΄ΠΎΠ²Π΅ΡΠ΅Π½ Π³Π»Π°Ρ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡΠ° Π·Π° Π½Π°ΡΠΊΠ° Π·Π° Π΄Π°Π½Π½ΠΈ.
ΠΠ·ΡΠ°ΠΊΠ°ΠΉΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ. ΠΠ° Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ Π² Medium ΠΈ Π΄Π° ΠΏΠ΅ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠ°ΡΠΈΠ²Π΅Π½ Π΄ΠΎΡ ΠΎΠ΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ°Π·ΠΈ ΡΠ΅ΡΠ΅ΡΠ°Π»Π½Π° Π²ΡΡΠ·ΠΊΠ°, Π·Π° Π΄Π° ΡΡΠ°Π½Π΅ΡΠ΅ ΡΠ»Π΅Π½.
ΠΡΠ΄Π΅ΡΠ΅ Π² ΠΊΡΠ°ΠΊ Ρ Π½ΠΎΠ²ΠΎΡΡΠΈΡΠ΅. Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΈΠ½ΠΈ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ²ΠΎΡΡΠ΅ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° AI β ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡΠ° AI Genesis.