искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python

ΠžΠ±ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΉ Telegram Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ с ИИ Π² 30 строчСк ΠΊΠΎΠ΄Π° Π½Π° Python

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. 3aac1f3187f0ccca7f43ee34699dfc32. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-3aac1f3187f0ccca7f43ee34699dfc32. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 3aac1f3187f0ccca7f43ee34699dfc32. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

БСгодня ΠΌΠ½Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΏΡ€ΠΈΡˆΠ»Π° ΠΌΡ‹ΡΠ»ΡŒ: «А ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Telegram Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π° с ИИ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ?Β»

БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°.
Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π˜Ρ‚Π°ΠΊ, для создания Telegram Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π° с ИИ Π½Π°ΠΌ потрСбуСтся:

1. API Telegram. Π’ качСствС ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ я взял ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ python-telegram-bot

2. API ИИ. Π’Ρ‹Π±Ρ€Π°Π» я ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΎΡ‚ Google, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Dialogflow. Он прСдоставляСт довольно-Ρ‚Π°ΠΊΠΈ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠ΅ бСсплатноС API. ΠžΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° Dialogflow для Python

Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π±ΠΎΡ‚Π° Π² Telegram

ΠŸΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ имя Π½Π°ΡˆΠ΅ΠΌΡƒ Π±ΠΎΡ‚Ρƒ ΠΈ пишСм @botfather. ПослС создания Π±ΠΎΡ‚Π° Π½Π°ΠΌ ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ API Ρ‚ΠΎΠΊΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹ Π³Π΄Π΅-Ρ‚ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, Ρ‚.ΠΊ. Π² дальнСйшСм ΠΎΠ½ Π½Π°ΠΌ понадобится.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π¨Π°Π³ 2. ПишСм основу Π±ΠΎΡ‚Π°

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΏΠ°ΠΏΠΊΡƒ Bot, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΌ создаём Ρ„Π°ΠΉΠ» bot.py. Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ΄ нашСго Π±ΠΎΡ‚Π°.
ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ консоль ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с Ρ„Π°ΠΉΠ»ΠΎΠΌ, устанавливаСм python-telegram-bot.

ПослС установки ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ «основу», которая ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ просто ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΌΠΈ сообщСниями. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ прописываСм наш Ρ‚ΠΎΠΊΠ΅Π½ API:

Π”Π°Π»Π΅Π΅ напишСм 2 ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄. Π­Ρ‚ΠΎ callback-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. НапишСм Π΄Π²Π΅ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ /start ΠΈ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ любого тСкстового сообщСния. Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ‚ΡƒΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: bot ΠΈ update. Bot содСрТит Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для взаимодСйствия с API, Π° update содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅ΠΌ сообщСнии.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ лишь ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ увСдомлСниям эти ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ поиск ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.
ДСлаСтся это ΠΎΡ‡Π΅Π½ΡŒ просто:

Π˜Ρ‚ΠΎΠ³ΠΎ, полная основа скрипта выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ нашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π°. ВставляСм Π½Π° 2 строкС наш API Ρ‚ΠΎΠΊΠ΅Π½, сохраняСм измСнСния, пСрСносимся Π² консоль ΠΈ запускаСм Π±ΠΎΡ‚Π°:

ПослС запуска пишСм Π΅ΠΌΡƒ. Если всё настроСно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²ΠΎΡ‚ это:

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Основа Π±ΠΎΡ‚Π° написана, приступаСм ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ!
P.s. Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΡ‚Π°, для этого Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² консоль ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl + C, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Ρƒ сСкунд ΠΈ Π±ΠΎΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π¨Π°Π³ 3. Настройка ИИ

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈΠ΄Ρ‘ΠΌ ΠΈ рСгистрируСмся Π½Π° Dialogflow (просто Π²Ρ…ΠΎΠ΄ΠΈΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ своСго Google Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°). Π‘Ρ€Π°Π·Ρƒ послС Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² панСль управлСния.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π–ΠΌΡ‘ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Create agent ΠΈ заполняСм поля ΠΏΠΎ ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ (это Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€ΠΎΠ»ΠΈ Π½Π΅ сыграСт, это Π½ΡƒΠΆΠ½ΠΎ лишь для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ дСйствия).

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π–ΠΌΡ‘ΠΌ Π½Π° Create ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ:

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

РасскаТу, ΠΏΠΎΡ‡Π΅ΠΌΡƒ созданный Π½Π°ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ «АгСнт» Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚. Π’ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Intents Π΅ΡΡ‚ΡŒ Β«ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹Β», ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΡ‚. БСйчас ΠΎΠ½ ΡƒΠΌΠ΅Π΅Ρ‚ лишь ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Ρ„Ρ€Π°Π·Ρ‹ Ρ‚ΠΈΠΏΠ° Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β», ΠΈ Ссли Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Β«Π― вас Π½Π΅ понял». НС сильно впСчатляСт.
ПослС создания нашСго пустого Π°Π³Π΅Π½Ρ‚Π°, Ρƒ нас появилась ΠΊΡƒΡ‡Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ. Нам Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Prebuilt Agents (это ΡƒΠΆΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π°Π³Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ мноТСство ΠΊΠΎΠΌΠ°Π½Π΄) ΠΈ ΠΈΠ· всСго прСдставлСнного списка Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Small Talk.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Наводим Π½Π° Π½Π΅Π³ΠΎ ΠΈ ΠΆΠΌΡ‘ΠΌ Import. Π”Π°Π»Π΅Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ мСняя, ΠΆΠΌΡ‘ΠΌ Ok. АгСнт импортировался ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ. Для этого Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΆΠΌΡ‘ΠΌ Π½Π° ΡˆΠ΅ΡΡ‚Π΅Ρ€Ρ‘Π½ΠΊΡƒ Π²ΠΎΠ·Π»Π΅ Small-Talk ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° страницу настроСк. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя Π°Π³Π΅Π½Ρ‚Π°, ΠΊΠ°ΠΊ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ (я ΠΎΡΡ‚Π°Π²Π»ΡΡŽ ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ). МСняСм часовой пояс ΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Languages провСряСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» установлСн русский язык (Ссли Π½Π΅ установлСн, Ρ‚ΠΎ ставим).

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.
искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

ВозвращаСмся Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ General, спускаСмся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠ· ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Client access token

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ наш ИИ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настроСн, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±ΠΎΡ‚Ρƒ.

Π¨Π°Π³ 4. Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ всё вмСстС

ИИ Π³ΠΎΡ‚ΠΎΠ², основа Π±ΠΎΡ‚Π° Π³ΠΎΡ‚ΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ дальшС? Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ API ΠΎΡ‚ Dialogflow для ΠΏΠΈΡ‚ΠΎΠ½Π°.

Установили? ВозвращаСмся ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π±ΠΎΡ‚Ρƒ. ДобавляСм Π² Π½Π°ΡˆΡƒ ΡΠ΅ΠΊΡ†ΠΈΡŽ «Настройки» ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ apiai ΠΈ json (Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ json ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΎΡ‚ dialogflow). Π’Π΅ΠΏΠ΅Ρ€ΡŒ это выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ textMessage (которая ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ любого тСкстового сообщСния) ΠΈ посылаСм ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ сообщСния Π½Π° сСрвСра Dialogflow:

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ запрос ΠΊ Dialogflow, Π½ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΎΡ‚Π²Π΅Ρ‚. ДописываСм ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΡƒ строк, ΠΈΡ‚ΠΎΠ³ΠΎ textMessage выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

НСмного пояснСний. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

получаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ сСрвСра, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Π±Π°ΠΉΡ‚Π°Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, просто примСняСм ΠΌΠ΅Ρ‚ΠΎΠ΄

ΠΈ послС этого Β«Π·Π°Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΒ» всё Π²

Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ json ΠΎΡ‚Π²Π΅Ρ‚.

Если ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π΅Ρ‚ (Ρ‚ΠΎΡ‡Π½Π΅Π΅, json ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ всСгда, Π½ΠΎ Π½Π΅ всСгда Π΅ΡΡ‚ΡŒ сам массив с ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ ИИ), Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Small-Talk Π½Π΅ понял ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Β«ΠΎΡ‚Π²Π΅Ρ‚Π°Β» Π½Π΅Ρ‚, Ρ‚ΠΎ пишСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Β«Π― Вас Π½Π΅ совсСм понял!Β».
Π˜Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±ΠΎΡ‚Π° с ИИ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

БохраняСм измСнСния, запускаСм Π±ΠΎΡ‚Π° ΠΈ ΠΈΠ΄Ρ‘ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ:

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π’ΠΎΡ‚ ΠΈ всё! Π‘ΠΎΡ‚ Π² 30 строк с ИИ написан!

Π¨Π°Π³ 5. Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ

Π”ΡƒΠΌΠ°ΡŽ, Π’Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΡ‚Π° с ИИ – Π΄Π΅Π»ΠΎ 10 ΠΌΠΈΠ½ΡƒΡ‚. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ лишь Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒ. Π”Π΅Π»Π°Ρ‚ΡŒ это, кстати, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Training. Π’Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС сообщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ писались ΠΈ Ρ‡Ρ‚ΠΎ Π½Π° Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Π±ΠΎΡ‚ (ΠΈΠ»ΠΈ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»). Π’Π°ΠΌ ΠΆΠ΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ, говоря Π±ΠΎΡ‚Ρƒ Π³Π΄Π΅ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π° Π³Π΄Π΅ Π½Π΅Ρ‚.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

НадСюсь, ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° Π’Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΡƒΠ΄Π°Ρ‡ΠΈ Π² ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

PyBrain Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹ΠΌΠΈ сСтями Π½Π° Python

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.
Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° столкнулся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹ΠΌΠΈ сСтями, рассмотрСл нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², большС всСго ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ PyBrain. НадСюсь Π΅Ρ‘ описаниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠΌ интСрСсно ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

PyBrain β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… Python Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для изучСния ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ большого количСства Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² связанных с Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹ΠΌΠΈ сСтями. ЯвляСт собой ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ совмСщСния ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ синтаксиса Python с Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ большого Π½Π°Π±ΠΎΡ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈΠ· области машинного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°.

О Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° построСна ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΊΠ°ΠΊ студСнтам для обучСния основам, Ρ‚Π°ΠΊ ΠΈ исслСдоватСлям, Π½ΡƒΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌΡΡ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². ΠžΠ±Ρ‰Π°Ρ структура ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π΅Ρ‘ использования ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмС:
искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π‘Π°ΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° являСтся ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ бСсплатна для использования Π² любом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ с СдинствСнно ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠΎΠΉ, ΠΏΡ€ΠΈ Π΅Ρ‘ использовании для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… исслСдований, ΠΎΠ½ΠΈ просят Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² список Ρ†ΠΈΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… источников (Ρ‡Ρ‚ΠΎ Π½Π°Ρ€ΠΎΠ΄ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚) ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ:

Tom Schaul, Justin Bayer, Daan Wierstra, Sun Yi, Martin Felder, Frank Sehnke, Thomas Rückstieß, Jürgen Schmidhuber. PyBrain. To appear in: Journal of Machine Learning Research, 2010.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

ΠŸΠ΅Ρ€Π΅Π΄ установкой Pybrain, создатСли Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:
Setuptools β€” ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ для Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ установку Π½ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Для Π΅Π³ΠΎ установки рСкомСндуСтся ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (python ez_setup.py) этот скрипт.
ПослС установки Ρƒ Вас ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для установки Π½ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.
Π‘Ρ€Π°Π·Ρƒ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΈΠΌΠΈ ΠΈ установим Π΄Π²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

Π”Π°Π»Π΅Π΅ устанавливаСтся сама PyBrain

ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти с двумя Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ, трСмя скрытыми слоями ΠΈ ΠΎΠ΄Π½ΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ net находится созданная нСйронная Ρ†Π΅ΠΏΡŒ, инициализированная случайными значСниями вСсов.

Ѐункция Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ

Ѐункция Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ задаётся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΡΠ΅Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ количСству Π²Ρ…ΠΎΠ΄ΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ СдинствСнного числа, Ссли тСкущая Ρ†Π΅ΠΏΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄, ΠΈ массив, Π² случаС большСго количСства Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ².

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ сСти

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ структурС сСти, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΅Ρ‘ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ имя. Π”Π°Π½Π½ΠΎΠ΅ имя ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°Π½ΠΎ автоматичСски, Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΠΈΠ½Ρ‹ΠΌ критСриям ΠΏΡ€ΠΈ создании сСти.
К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, для сСти net ΠΈΠΌΠ΅Π½Π° Π΄Π°Π½Ρ‹ автоматичСски:

Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ слои ΠΏΠΎΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ‹ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ слоя Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ.

ВозмоТности ΠΏΡ€ΠΈ создании сСти

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈ Ρ‚ΠΈΠΏ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ слоя:

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС смСщСния (bias)

ΠžΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Building a DataSet)

Бозданная ΡΠ΅Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈ посвящён этот Ρ€Π°Π·Π΄Π΅Π». Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… являСтся Π½Π°Π±ΠΎΡ€ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ PyBrain ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ pybrain.dataset, Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс SupervisedDataSet.

Настройка Π΄Π°Π½Π½Ρ‹Ρ…

Класс SupervisedDataSet ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ обучСния с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ массивы Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ создании экзСмпляра класса:
Π—Π°ΠΏΠΈΡΡŒ Π²ΠΈΠ΄Π°:

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ создаётся структура Π΄Π°Π½Π½Ρ‹Ρ… для хранСния Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ….

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ²

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти являСтся ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ XOR, Π΄Π°Π»Π΅Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для создания Ρ‚Π°ΠΊΠΎΠΉ сСти.

ИсслСдованиС структуры ΠΎΠ±Ρ€Π°Π·Ρ†Π°

Для получСния массивов Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΈΡ… Π½Π°Π±ΠΎΡ€Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами.

Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 4, Ρ‚Π°ΠΊ-ΠΊΠ°ΠΊ это количСство элСмСнтов.
Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ мноТСству Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ для массивов способом:

Π’Π°ΠΊΠΆΠ΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прямой доступ с использованиСм Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ:

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΅Π³ΠΎ ΡƒΠ΄Π°Π»ΠΈΠ²:

Π’Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠ° сСти Π½Π° ΠΎΠ±Ρ€Π°Π·Ρ†Π°Ρ…

Π’ PyBrain использована концСпция Ρ‚Ρ€Π΅Π½Π΅Ρ€ΠΎΠ² (trainers) для обучСния сСтСй с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π’Ρ€Π΅Π½Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ экзСмпляр сСти ΠΈ экзСмпляр Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡƒΡ‡Π°Π΅Ρ‚ ΡΠ΅Ρ‚ΡŒ ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ.
ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ это ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ распространСниС ошибки (backpropagation). Для упрощСния Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² PyBrain сущСствуСт класс BackpropTrainer.

ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² (ds) ΠΈ цСлСвая ΡΠ΅Ρ‚ΡŒ (net) ΡƒΠΆΠ΅ созданы Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π²Ρ‹ΡˆΠ΅, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹.

Π’Ρ€Π΅Π½Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ссылку Π½Π° структуру сСти ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Ρ‘ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° train() ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ (эпоху) обучСния ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΠΎΠΉ ошибки (double proportional to the error).
Если ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ эпохи Π½Π΅Ρ‚ надобности, Ρ‚ΠΎ сущСствуСт ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΡΠ΅Ρ‚ΡŒ Π΄ΠΎ сходимости:

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ массив ошибок для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ эпохи.

Π•Ρ‰Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… сСтСй

Tom Schaul, Martin Felder, et.al. PyBrain, Journal of Machine Learning Research 11 (2010) 743-746.

НСмного ссылок:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ…ΠΎΡ‡Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, описания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅, Π½ΠΎ Π½Π΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ понятности Π² дСбрях ΠΊΠΎΠ΄Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПишСм голосового ассистСнта Π½Π° Python

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² области машинного обучСния Π·Π° послСдний Π³ΠΎΠ΄ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅ΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ. Всё большС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ дСлятся своими Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ, Ρ‚Π΅ΠΌ самым открывая Π½ΠΎΠ²Ρ‹Π΅ возмоТности для создания ΡƒΠΌΠ½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ².

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ голосового ассистСнта ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π°ΠΌ нСсколько ΠΈΠ΄Π΅ΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΅Ρ‰Ρ‘ ΡƒΠΌΠ½Π΅Π΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. . искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π§Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠΉ голосовой ассистСнт?

ОписаниС умСнияРабота Π² offline-Ρ€Π΅ΠΆΠΈΠΌΠ΅Π’Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ зависимости
Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Ρ‡ΡŒΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡpip install PyAudio (использованиС ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π°)

pip install pyttsx3 (синтСз Ρ€Π΅Ρ‡ΠΈ)

Для распознавания Ρ€Π΅Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ Π²Π·ΡΡ‚ΡŒ ΠΎΠ±Π΅:

Π¨Π°Π³ 1. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голосового Π²Π²ΠΎΠ΄Π°

Начнём с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ научимся ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ голосовой Π²Π²ΠΎΠ΄. Нам потрСбуСтся ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ ΠΈ ΠΏΠ°Ρ€Π° установлСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ: PyAudio ΠΈ SpeechRecognition.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ основныС инструмСнты для распознавания Ρ€Π΅Ρ‡ΠΈ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для записи ΠΈ распознавания Ρ€Π΅Ρ‡ΠΈ. Для ΠΎΠ½Π»Π°ΠΉΠ½-распознавания Π½Π°ΠΌ потрСбуСтся Google, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ высокоС качСство распознавания Π½Π° большом количСствС языков.

А Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π΅Ρ‚ доступа Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚? МоТно Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ для offline-распознавания. МнС Π»ΠΈΡ‡Π½ΠΎ Π±Π΅Π·ΡƒΠΌΠ½ΠΎ понравился ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Vosk.

На самом Π΄Π΅Π»Π΅, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ offline-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли ΠΎΠ½ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½. МнС просто Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Π° способа Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π° Π²Ρ‹ ΡƒΠΆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅, исходя ΠΈΠ· своих Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ систСмС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ количСству доступных языков распознавания бСсспорно Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Google).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π²Π½Π΅Π΄Ρ€ΠΈΠ² offline-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ языковыС ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡ€ΠΈ отсутствии доступа ΠΊ сСти Ρƒ нас автоматичСски Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° offline-распознаваниС.

Π—Π°ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π²Π° Ρ€Π°Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ„Ρ€Π°Π·Ρƒ, я Ρ€Π΅ΡˆΠΈΠ»Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π°ΡƒΠ΄ΠΈΠΎ с ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ wav-Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ распознавания.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ спроситС «А Π·Π°Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ offline-возмоТности?Β»

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ всСгда стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π·Π°Π½ ΠΎΡ‚ сСти. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, голосовой ассистСнт всё Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π° ΠΈΠ»ΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ряда простых Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΠΌ, ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΊΡƒΡ…Π½ΠΈ, ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ Π² ΠΈΠ³Ρ€Ρƒ ΠΈ Ρ‚.Π΄.

Π¨Π°Π³ 2. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ голосового ассистСнта

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ наш голосовой ассистСнт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ», язык Ρ€Π΅Ρ‡ΠΈ, Π½Ρƒ ΠΈ ΠΏΠΎ классикС, имя, Ρ‚ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ΄ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² дальнСйшСм.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°ΡˆΠ΅ΠΌΡƒ ассистСнту голос, ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для offline-синтСза Ρ€Π΅Ρ‡ΠΈ pyttsx3. Она автоматичСски Π½Π°ΠΉΠ΄Π΅Ρ‚ голоса, доступныС для синтСза Π½Π° нашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π² зависимости ΠΎΡ‚ настроСк ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (поэтому, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ вас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны Π΄Ρ€ΡƒΠ³ΠΈΠ΅ голоса ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ индСксы).

Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π² main-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ синтСза Ρ€Π΅Ρ‡ΠΈ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для Π΅Ρ‘ проигрывания. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, сдСлаСм Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с Π½Π°ΠΌΠΈ поздоровался, ΠΈ Π²Ρ‹Π΄Π°Π΄ΠΈΠΌ Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ привСтствиС ΠΎΡ‚ ассистСнта:

На самом Π΄Π΅Π»Π΅, здСсь Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ синтСзатор Ρ€Π΅Ρ‡ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ здСсь Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достаточно. Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ, курс ΠΈΠ»ΠΈ интСрСсноС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² этой Ρ‚Π΅ΠΌΠ΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ β€” поТалуйста, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях.

Π¨Π°Π³ 3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Β«Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒΒ» Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Ρ‡ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ просто боТСствСнных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π½Π°ΡˆΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ свой вСлосипСд для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Ρ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ πŸ˜€

Π’ ΠΌΠΎΡ‘ΠΌ случаС я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ хранСния ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ мСня Π² дСмонстрационном ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ событий, ΠΈ мСня устраиваСт Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ опрСдСлСния Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Однако, для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ языкам.

Для хранСния ΠΊΠΎΠΌΠ°Π½Π΄ я ΠΌΠΎΠ³Ρƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²Π° способа.

1 способ

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСкрасный JSON-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ намСрСния, сцСнарии развития, ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Π²ΡˆΠΈΡ…ΡΡ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°Ρ… (Ρ‚Π°ΠΊΠΈΠ΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ΠΎΠ²). Выглядит это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ассистСнта Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‡Π°Π» Π½Π° слоТныС Ρ„Ρ€Π°Π·Ρ‹. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, здСсь ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ NLU-ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, свСряя ΠΈΡ… с Ρ‚Π΅ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ этот способ ΠΌΡ‹ Π΅Π³ΠΎ рассмотрим Π½Π° 5 шагС Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. А ΠΏΠΎΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‰Ρƒ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

2 способ

МоТно Π²Π·ΡΡ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ hashable-Ρ‚ΠΈΠΏ tuple (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ словари ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ…ΡΡˆΠΈ для быстрого хранСния ΠΈ извлСчСния элСмСнтов), Π° Π² Π²ΠΈΠ΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚:

Для Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΌ потрСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, сказанныС послС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ слова. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π·Ρƒ «Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠΈΠ»Ρ‹Π΅ ΠΊΠΎΡ‚ΠΈΠΊΠΈ«, ΠΊΠΎΠΌΠ°Π½Π΄Π° «Π²ΠΈΠ΄Π΅ΠΎ» Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ search_for_video_on_youtube() с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ «ΠΌΠΈΠ»Ρ‹Π΅ ΠΊΠΎΡ‚ΠΈΠΊΠΈ» ΠΈ выдаст Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. image loader. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ входящих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Ну Π²ΠΎΡ‚ ΠΈ всё! Основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π±ΠΎΡ‚Π° Π³ΠΎΡ‚ΠΎΠ². Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎ бСсконСчности ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами. Моя рСализация с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ коммСнтариями доступна Π½Π° ΠΌΠΎΡ‘ΠΌ GitHub.

НиТС ΠΌΡ‹ рассмотрим ряд ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нашСго ассистСнта Π΅Ρ‰Ρ‘ ΡƒΠΌΠ½Π΅Π΅.

Π¨Π°Π³ 4. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ нашСго ассистСнта Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими языковыми модСлями, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСбольшой JSON-Ρ„Π°ΠΉΠ» с простой структурой:

Π’ ΠΌΠΎΡ‘ΠΌ случаС я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ русским ΠΈ английским языком, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½Π΅ для этого доступны ΠΌΠΎΠ΄Π΅Π»ΠΈ для распознавания Ρ€Π΅Ρ‡ΠΈ ΠΈ голоса для синтСза Ρ€Π΅Ρ‡ΠΈ. Π―Π·Ρ‹ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ Π² зависимости ΠΎΡ‚ языка Ρ€Π΅Ρ‡ΠΈ самого голосового ассистСнта.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½Π°ΠΌ строку с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ:

Π’ main-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎ Ρ†ΠΈΠΊΠ»Π° объявим наш ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: translator = Translation()

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ Ρ€Π΅Ρ‡ΠΈ ассистСнта ΠΌΡ‹ смоТСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ΡˆΠ΅, это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°ΠΆΠ΅ для Ρ‚Π΅Ρ… строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ вставки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ «стандартныС» Π½Π°Π±ΠΎΡ€Ρ‹ Ρ„Ρ€Π°Π· для Π²Π°ΡˆΠΈΡ… ассистСнтов.

Π¨Π°Π³ 5. НСмного машинного обучСния

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ вСрнёмся ΠΊ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΌΡƒ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ΠΎΠ² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ с JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ для хранСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»Π° Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 3. Он ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строгиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ NLU-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π“Ρ€ΡƒΠ±ΠΎ говоря, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Ρ„Ρ€Π°Π·Ρ‹ «Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь«, «Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ Π²Π΅Ρ‡Π΅Ρ€» ΠΈ «Π΄ΠΎΠ±Ρ€ΠΎΠ΅ ΡƒΡ‚Ρ€ΠΎ» Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΌΠΈ. АссистСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎ всСх Ρ‚Ρ€Ρ‘Ρ… случаях Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ своСго голосового ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ способа Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π° для Ρ‡Π°Ρ‚ΠΎΠ² Π»ΠΈΠ±ΠΎ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ для вашСго голосового ассистСнта (Π½Π° случаи, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ собСсСдник).

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ возмоТности Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

А Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ main-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Ρ†ΠΈΠΊΠ» Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

Однако, Ρ‚Π°ΠΊΠΎΠΉ способ слоТнСС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ постоянной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π° ΠΈΠ»ΠΈ иная Ρ„Ρ€Π°Π·Π° всё Π΅Ρ‰Ρ‘ Π²Π΅Ρ€Π½ΠΎ опрСдСляСтся систСмой ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ намСрСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹ΠΌ способом стоит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ (Π»ΠΈΠ±ΠΎ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с самой модСлью).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На этом ΠΌΠΎΠΉ нСбольшой Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΏΠΎΠ΄ΠΎΡˆΡ‘Π» ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ.

МнС Π±ΡƒΠ΄Π΅Ρ‚ приятно, Ссли Π²Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ со ΠΌΠ½ΠΎΠΉ Π² коммСнтариях извСстными Π²Π°ΠΌ open-source Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ вашими идСями ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Ρ‘ online ΠΈ offline-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ исходники ΠΌΠΎΠ΅Π³ΠΎ голосового ассистСнта Π² Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

P.S: Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Windows, Linux ΠΈ MacOS с Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ различиями ΠΏΡ€ΠΈ установкС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ PyAudio ΠΈ Google.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² IT, я Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄Π° Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° своём YouTube-ΠΊΠ°Π½Π°Π»Π΅ IT DIVA. Π’Π°ΠΌ Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ GitHub, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ собСсСдования, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅, ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π³ΠΎΡ€Π°Π½ΠΈΠ΅ΠΌ, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ Ρ‚.Π΄.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

НСйронная ΡΠ΅Ρ‚ΡŒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ с Python ΠΈ Keras

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ?

МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ β€” это ΠΎΠ±Π»Π°ΡΡ‚ΡŒ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ статистичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ систСмам ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Β«ΡƒΡ‡ΠΈΡ‚ΡŒΡΡΒ». Π’ΠΎ Π΅ΡΡ‚ΡŒ постСпСнно ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· явного программирования. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Ρ‚ΠΎ, насколько эффСктивно (ΠΈΠ»ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ) Gmail распознаСт спам ΠΈΠ»ΠΈ насколько ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Π΅Π΅ стали систСмы распознавания голоса с ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠΌ Siri, Alex ΠΈ Google Home.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ машинного обучСния Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ β€” огромная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΈ сСгодня Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ лишь ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΅Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ….

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² машинного обучСния. Π•Π³ΠΎ идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ систСму сначала ΡƒΡ‡Π°Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, прСдлагая ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄. Π—Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° систСма Β«Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Π½Π°Β», Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для прСдсказания Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ².

НапримСр, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ спам-Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€? Один ΠΈΠ· способов β€” интуиция. МоТно Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «содСрТит слово дСньги» ΠΈΠ»ΠΈ Β«Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„Ρ€Π°Π·Ρƒ Western UnionΒ». И ΠΏΡƒΡΡ‚ΡŒ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚Π°ΠΊΠΈΠ΅ систСмы Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв всС-Ρ‚Π°ΠΊΠΈ слоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΈΠ½Ρ‚ΡƒΠΈΡ†ΠΈΡŽ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ обучСния с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСмы ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π² основС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π·Π° счСт прСдоставлСния ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с большим количСством спама. Когда Ρ‚Π°ΠΊΠΎΠΉ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Π½, Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ письмо, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ попытался ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ½ΠΎ спамом.

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для прСдсказания Π²Ρ‹Π²ΠΎΠ΄Π°. Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ: рСгрСссия ΠΈ классификация.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. shema obucheniya s uchitelem. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-shema obucheniya s uchitelem. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° shema obucheniya s uchitelem. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

НСвозмоТно Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ, Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈ обучСния с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π½Π΅ касаясь языков программирования ΠΈΠ»ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…. МодСли обучСния β€” это Ρ‚Π΅ самыС структуры, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠ΅. Π˜Ρ… вСс (ΠΈΠ»ΠΈ структура) мСняСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ. Π•ΡΡ‚ΡŒ нСсколько Π²ΠΈΠ΄ΠΎΠ² ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ обучСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ Π² качСствС ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСйронная ΡΠ΅Ρ‚ΡŒ.

ПониманиС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй

НСйронныС сСти ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… внутрСнняя структура Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ чСловСчСский ΠΌΠΎΠ·Π³. ПослСдний состоит ΠΈΠ· Π½Π΅ΠΉΡ€ΠΎΠ½ΠΎΠ² ΠΈ синапсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ… ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ стимуляции Π½Π΅ΠΉΡ€ΠΎΠ½Ρ‹ Β«Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‚Β» Π΄Ρ€ΡƒΠ³ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ элСктричСства.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π΅ΠΉΡ€ΠΎΠ½ «активируСтся» Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π·Π° счСт вычислСния взвСшСнной суммы Π²Π²ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Когда Π½Π΅ΠΉΡ€ΠΎΠ½ активируСтся, ΠΎΠ½ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ вычислСния, вызывая Ρ†Π΅ΠΏΠ½ΡƒΡŽ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ всСми Π½Π΅ΠΉΡ€ΠΎΠ½Π°ΠΌΠΈ всСх слоСв.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡΡ‚ΡŒ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Π΅ сСти ΠΈ Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½Ρ‹ биологичСскими, ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… всС-Ρ‚Π°ΠΊΠΈ нСльзя.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. process aktivacii kazhdogo nejrona. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-process aktivacii kazhdogo nejrona. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° process aktivacii kazhdogo nejrona. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π‘Π»ΠΎΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти

НСйроны Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² слои. Π‘Π»ΠΎΠΈ β€” это способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ структуру, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ содСрТит 1 ΠΈΠ»ΠΈ большСС количСство Π½Π΅ΠΉΡ€ΠΎΠ½ΠΎΠ². Π’ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 3 ΠΈΠ»ΠΈ большС слоСв. Π’Π°ΠΊΠΆΠ΅ всСгда ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ 2 ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… слоя, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€ΠΎΠ»ΡŒ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°.

Π‘Π»ΠΎΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ «скрытыС слои». ИмСнно Ρ‚Π°ΠΌ происходят всС вычислСния. ВсС слои Π² Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ описания.

Π’Ρ‹Π±ΠΎΡ€ количСства скрытых слоСв ΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½ΠΎΠ²

НСт Π·ΠΎΠ»ΠΎΡ‚ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ стоит Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ количСства слоСв ΠΈ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (ΠΈΠ»ΠΈ числа Π½Π΅ΠΉΡ€ΠΎΠ½ΠΎΠ²). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, стоит ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 1 Ρ‚Π°ΠΊΠΎΠΉ слой ΠΈ дальшС Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€, провСряя, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. skrytye sloi i nejrony. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-skrytye sloi i nejrony. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° skrytye sloi i nejrony. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Keras для Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ простой Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти, которая распознаСт рукописныС Ρ†ΠΈΡ„Ρ€Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π°ΠΌ Π½Π° Python Π½Π΅Ρ‚ нСобходимости Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ колСсо. Π’Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠ°ΠΊ Tensorflow, Torch, Theano ΠΈ Keras ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ основныС структуры Π΄Π°Π½Π½Ρ‹Ρ… для Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти, оставив Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ лишь Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ структуру Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти.

Keras прСдоставляСт Π΅Ρ‰Π΅ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ свободу: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ количСство слоСв, число Π½Π΅ΠΉΡ€ΠΎΠ½ΠΎΠ², Ρ‚ΠΈΠΏ слоя ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ элСмСнтов довольно ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ Π² этот Ρ€Π°Π· обойдСмся Π±ΠΎΠ»Π΅Π΅ простыми ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° основС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ слоя Π²Π²ΠΎΠ΄Π° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ слоя Π²Ρ‹Π²ΠΎΠ΄Π°. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ «скрытыС слои» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для изучСния слоТных Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… абстракций Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Keras для прСдсказания рукописных Ρ†ΠΈΡ„Ρ€ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… MNIST.

Запуск Jupyter Notebook локально

Бписок Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ:

Запуск ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python

Для запуска чистой установки Python (любой вСрсии ΡΡ‚Π°Ρ€ΡˆΠ΅ 3.6) установитС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ (Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС.

Если эти ΠΌΠΎΠ΄ΡƒΠ»ΠΈ установлСны, Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… MNIST

MNIST β€” это огромная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… рукописных Ρ†ΠΈΡ„Ρ€, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊ ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° знакомства с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ систСмами ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Она идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° процСссС обучСния Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти. MNIST β€” ΠΎΡ‡Π΅Π½ΡŒ чистая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π° это Ρ€ΠΎΡΠΊΠΎΡˆΡŒ Π² ΠΌΠΈΡ€Π΅ машинного обучСния.

ΠΠ°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму, ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ярлыком (ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ). Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· 60 000 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ рукописных Ρ†ΠΈΡ„Ρ€ (прСдставлСнных Π² Π²ΠΈΠ΄Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 28Ρ…28 пиксСлСй, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠ΅ΠΉ сСрого ΠΎΡ‚ 0 Π΄ΠΎ 255).

Набор Π΄Π°Π½Π½Ρ‹Ρ…

Набор Π΄Π°Π½Π½Ρ‹Ρ… состоит ΠΈΠ· Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… ΠΈ тСстовых Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ для упрощСния здСсь Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ:

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. kak skachat dataset mnist v jupyter notebook. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-kak skachat dataset mnist v jupyter notebook. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° kak skachat dataset mnist v jupyter notebook. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠΊ

Π€Π°ΠΉΠ» ярлыка Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° (train-labels-idx1-ubyte):

[offset][type][value][description]
000032 bit integer0x00000801(2049)magic number (MSB first)
000432 bit integer60000number of items
0008unsigned byte??label
0009unsigned byte??label
……………………
xxxxunsigned byte??label

ЗначСния ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΎΡ‚ 0 Π΄ΠΎ 9.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 8 Π±Π°ΠΉΡ‚ (ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 2 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… числа) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ содСрТат ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков программирования. Для парсинга Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ссли этот Ρ„Π°ΠΉΠ» ΠΈΠ· Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ источника, понадобится ΠΊΡƒΠ΄Π° большС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ. Но ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ являСтся Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ†Π΅Π»Π΅ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

[offset][type][value][description]
000032 bit integer0x00000803(2051)magic number
000432 bit integer60000number of images
000832 bit integer28number of rows
001232 bit integer28number of columns
0016unsigned byte??pixel
0017unsigned byte??pixel
……………………
xxxxunsigned byte??pixel

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличаСтся ΠΎΡ‚ чтСния ΠΌΠ΅Ρ‚ΠΎΠΊ. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 16 Π±Π°ΠΉΡ‚ содСрТат ΡƒΠΆΠ΅ извСстныС ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ сразу ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. КаТдоС ΠΈΠ· Π½ΠΈΡ… прСдставлСно Π² Π²ΠΈΠ΄Π΅ массива 28*28 ΠΈΠ· Π±Π°ΠΉΡ‚ΠΎΠ² Π±Π΅Π· Π·Π½Π°ΠΊΠ°. ВсС Ρ‡Ρ‚ΠΎ трСбуСтся β€” Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π·Π° Ρ€Π°Π· ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΡ… Π² массив.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. vyvod izobrazheniya s pomoshyu matplotlib. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-vyvod izobrazheniya s pomoshyu matplotlib. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° vyvod izobrazheniya s pomoshyu matplotlib. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠΊ изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ One-hot encoding

Π‘ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ one-hot encoding для прСвращСния Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ Π² Π²Π΅ΠΊΡ‚ΠΎΡ€.

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. izobrazhenie s indeksom 999 cifrua 6. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-izobrazhenie s indeksom 999 cifrua 6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° izobrazhenie s indeksom 999 cifrua 6. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ явно Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с индСксом 999 прСдставляСт Ρ†ΠΈΡ„Ρ€Ρƒ 6. Ассоциированный с Π½ΠΈΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ содСрТит 10 Ρ†ΠΈΡ„Ρ€ (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ имССтся 10 ΠΌΠ΅Ρ‚ΠΎΠΊ), Π° Ρ†ΠΈΡ„Ρ€Π° с индСксом 6 Ρ€Π°Π²Π½ΠΎ 1. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ.

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ датасСта Π½Π° Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ тСстовый

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ нСйронная ΡΠ΅Ρ‚ΡŒ Π±Ρ‹Π»Π° Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π±Π΅Ρ€Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° (60 000 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ) ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² тСстовых цСлях.

Π—Π΄Π΅ΡΡŒ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ вСсь Π½Π°Π±ΠΎΡ€ ΠΈΠ· 60 000 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π±Π°Π» Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° Π΄Π²Π°: ΠΎΠ΄ΠΈΠ½ с 45 000, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ с 15 000 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Π’Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠ° Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Keras

Для обучСния Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ этот ΠΊΠΎΠ΄.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π½Π° Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Π’ΠΎΡ‚ Π²Ρ‹ ΠΈ Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ для прСдсказания рукописных Ρ†ΠΈΡ„Ρ€Ρ‹ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹ΡˆΠ΅ 90%. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ изобраТСния ΠΈΠ· тСстового Π½Π°Π±ΠΎΡ€Π°.

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ случайноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ β€” ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с индСксом 1010. Π‘Π΅Ρ€Π΅ΠΌ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС β€” 4, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° пятой ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ стоит Ρ†ΠΈΡ„Ρ€Π° 1)

array([0., 0., 0., 0., 1., 0., 0., 0., 0., 0.])

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠΌ изобраТСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. proverka nejronnoj seti. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-proverka nejronnoj seti. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° proverka nejronnoj seti. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

ПониманиС Π²Ρ‹Π²ΠΎΠ΄Π° Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ слоя softmax

ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΠΌ Ρ†ΠΈΡ„Ρ€Ρƒ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ ΠΈ посмотрим, ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ½Π° прСдскаТСт.

Π’Ρ‹Π²ΠΎΠ΄ слоя softmax β€” это распрСдСлСниС вСроятностСй для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°. Π’ этом случаС ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 10 (Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 9). Но оТидаСтся, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ лишь ΠΎΠ΄Π½ΠΎΠΌΡƒ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это распрСдСлСниС вСроятностСй, ΠΈΡ… сумма ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½Π° 1 (Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅).

Π§Ρ‚Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° слоя softmax для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ†ΠΈΡ„Ρ€Ρ‹

Как ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ дальшС, 5-ΠΎΠΉ индСкс Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ 1 (0,99), Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ с большой Π΄ΠΎΠ»Π΅ΠΉ вСроятности являСтся
4… Π° это Ρ‚Π°ΠΊ ΠΈ Π΅ΡΡ‚ΡŒ!

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ошибок

искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. prosmotr matricy oshibok. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python Ρ„ΠΎΡ‚ΠΎ. искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python-prosmotr matricy oshibok. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΊΠΎΠ΄ python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° prosmotr matricy oshibok. БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°. Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ этого руководства Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с основными концСпциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ основу машинного обучСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ:

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Sci-Kit Learn ΠΈ Keras Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠ·ΠΈΠ»ΠΈ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° Π² машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ β€” Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Python снизил ΠΏΠΎΡ€ΠΎΠ³ знакомства с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Однако ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π³ΠΎΠ΄Ρ‹ (ΠΈΠ»ΠΈ дСсятилСтия), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ экспСртного уровня!

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ машинного обучСния, ΠΎΡ‡Π΅Π½ΡŒ вострСбованы. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ упомянутых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Π²Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΎ практичСских аспСктах машинного обучСния Ρƒ всСх Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с этой ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Π·Π½Π°Π½ΠΈΠΉ. Π”Π°ΠΆΠ΅ Ссли тСорСтичСских Π·Π½Π°Π½ΠΈΠΉ ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Π½Π΅Ρ‚.

Π—Π°Ρ‚Π΅ΠΌ Π½Π°Π²Ρ‹ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, разрабатывая Π±ΠΎΠ»Π΅Π΅ ΡƒΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Ρ‡Ρ‚ΠΎ сдСлаСт ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ Π±ΠΎΠ»Π΅Π΅ Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² ΠΌΠΈΡ€ машинного обучСния с Python:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *