AI-For-Beginners/translations/uk/lessons/3-NeuralNetworks/03-Perceptron
localizeflow[bot] 132c5c3f8f chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:51:30 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:51:30 +00:00
Perceptron.ipynb 🌐 Update translations via Co-op Translator 2025-12-12 20:42:50 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:51:30 +00:00

README.md

Вступ до нейронних мереж: Перцептрон

Тест перед лекцією

Однією з перших спроб реалізувати щось схоже на сучасну нейронну мережу була робота Френка Розенблатта з Корнельської аеронавтичної лабораторії у 1957 році. Це була апаратна реалізація під назвою "Mark-1", створена для розпізнавання простих геометричних фігур, таких як трикутники, квадрати та кола.

Френк Розенблатт Перцептрон Mark 1

Зображення з Вікіпедії

Вхідне зображення представлялося у вигляді масиву з 20x20 фотокомірок, тому нейронна мережа мала 400 входів і один бінарний вихід. Проста мережа містила один нейрон, також відомий як логічний елемент порогу. Ваги нейронної мережі працювали як потенціометри, які потребували ручного налаштування під час етапу навчання.

Потенціометр — це пристрій, який дозволяє користувачеві регулювати опір у колі.

У той час газета The New York Times писала про перцептрон: ембріон електронного комп'ютера, який [ВМС] очікують, зможе ходити, говорити, бачити, писати, відтворювати себе і усвідомлювати своє існування.

Модель перцептрона

Припустимо, що у нашій моделі є N ознак, у такому випадку вхідний вектор буде вектором розміру N. Перцептрон — це модель бінарної класифікації, тобто він може розрізняти два класи вхідних даних. Ми припускаємо, що для кожного вхідного вектора x вихід нашого перцептрона буде або +1, або -1, залежно від класу. Вихід обчислюється за формулою:

y(x) = f(wTx)

де f — це функція активації типу "сходинка".

Навчання перцептрона

Щоб навчити перцептрон, нам потрібно знайти вектор ваг w, який класифікує більшість значень правильно, тобто дає найменшу помилку. Ця помилка E визначається за критерієм перцептрона наступним чином:

E(w) = -∑wTxiti

де:

  • сума береться для тих точок навчальних даних i, які призводять до неправильної класифікації,
  • xi — це вхідні дані, а ti — це або -1, або +1 для негативних і позитивних прикладів відповідно.

Цей критерій розглядається як функція ваг w, і нам потрібно її мінімізувати. Часто використовується метод градієнтного спуску, у якому ми починаємо з деяких початкових ваг w(0), а потім на кожному кроці оновлюємо ваги за формулою:

w(t+1) = w(t) - η∇E(w)

Тут η — це так званий темп навчання, а ∇E(w) позначає градієнт E. Після обчислення градієнта ми отримуємо:

w(t+1) = w(t) + ∑ηxiti

Алгоритм на Python виглядає так:

def train(positive_examples, negative_examples, num_iterations = 100, eta = 1):

    weights = [0,0,0] # Initialize weights (almost randomly :)
        
    for i in range(num_iterations):
        pos = random.choice(positive_examples)
        neg = random.choice(negative_examples)

        z = np.dot(pos, weights) # compute perceptron output
        if z < 0: # positive example classified as negative
            weights = weights + eta*weights.shape

        z  = np.dot(neg, weights)
        if z >= 0: # negative example classified as positive
            weights = weights - eta*weights.shape

    return weights

Висновок

У цьому уроці ви дізналися про перцептрон, який є моделлю бінарної класифікації, і як його навчати за допомогою вектора ваг.

🚀 Виклик

Якщо ви хочете спробувати створити власний перцептрон, спробуйте цей лабораторний практикум на Microsoft Learn, який використовує Azure ML designer.

Тест після лекції

Огляд і самостійне навчання

Щоб побачити, як можна використовувати перцептрон для вирішення простих задач, а також реальних проблем, і продовжити навчання — перейдіть до ноутбука Перцептрон.

Ось цікавий стаття про перцептрони.

Завдання

У цьому уроці ми реалізували перцептрон для задачі бінарної класифікації і використали його для класифікації між двома рукописними цифрами. У цьому лабораторному практикумі вам пропонується вирішити задачу класифікації цифр повністю, тобто визначити, яка цифра найбільш ймовірно відповідає даному зображенню.