Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Завдання: Створення Перцептрона | Нейронна Мережа з Нуля
Вступ до нейронних мереж

bookЗавдання: Створення Перцептрона

Оскільки мета полягає у створенні багатошарового перцептрона, визначення класу Perceptron допомагає ефективно організувати та ініціалізувати модель. Клас міститиме одну атрибуту, layers, яка є списком об'єктів Layer, що представляють структуру мережі:

class Perceptron:
    def __init__(self, layers):
        self.layers = layers

Змінні, які використовуються для ініціалізації шарів:

  • input_size: кількість вхідних ознак;
  • hidden_size: кількість нейронів у кожному прихованому шарі (у цьому випадку обидва приховані шари матимуть однакову кількість нейронів);
  • output_size: кількість нейронів у вихідному шарі.

Структура отриманого багатошарового перцептрона включатиме:

  1. Вхідний шар → отримує дані;
  2. Два приховані шари → обробляють вхідні дані та виділяють закономірності;
  3. Вихідний шар → формує фінальний прогноз.
Завдання

Swipe to start coding

Ваша мета — налаштувати базову структуру багатошарового перцептрона (MLP), реалізувавши код для його шарів.

Дотримуйтесь наступних кроків:

  1. Ініціалізуйте параметри шару у методі __init__():
  • Створіть матрицю ваг розміром (n_neurons, n_inputs);
  • Створіть вектор зсувів (bias) розміром (n_neurons, 1);
    • Заповніть обидва випадковими значеннями з рівномірного розподілу в діапазоні [1,1)[-1, 1) за допомогою np.random.uniform().
  1. Реалізуйте пряме поширення (forward propagation) у методі forward():
  • Обчисліть сире значення виходу кожного нейрона за допомогою скалярного добутку:
np.dot(self.weights, self.inputs) + self.biases
  • Застосуйте призначену активаційну функцію до цього результату та поверніть активований вихід.
  1. Визначте шари перцептрона:
  • Створіть два приховані шари, кожен з hidden_size нейронами та з активаційною функцією ReLU;
  • Створіть один вихідний шар з output_size нейроном(ами) та активаційною функцією sigmoid.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain how the `Layer` class should be defined?

What activation functions are typically used in the hidden and output layers?

How do I initialize the layers using `input_size`, `hidden_size`, and `output_size`?

close

Awesome!

Completion rate improved to 4

bookЗавдання: Створення Перцептрона

Свайпніть щоб показати меню

Оскільки мета полягає у створенні багатошарового перцептрона, визначення класу Perceptron допомагає ефективно організувати та ініціалізувати модель. Клас міститиме одну атрибуту, layers, яка є списком об'єктів Layer, що представляють структуру мережі:

class Perceptron:
    def __init__(self, layers):
        self.layers = layers

Змінні, які використовуються для ініціалізації шарів:

  • input_size: кількість вхідних ознак;
  • hidden_size: кількість нейронів у кожному прихованому шарі (у цьому випадку обидва приховані шари матимуть однакову кількість нейронів);
  • output_size: кількість нейронів у вихідному шарі.

Структура отриманого багатошарового перцептрона включатиме:

  1. Вхідний шар → отримує дані;
  2. Два приховані шари → обробляють вхідні дані та виділяють закономірності;
  3. Вихідний шар → формує фінальний прогноз.
Завдання

Swipe to start coding

Ваша мета — налаштувати базову структуру багатошарового перцептрона (MLP), реалізувавши код для його шарів.

Дотримуйтесь наступних кроків:

  1. Ініціалізуйте параметри шару у методі __init__():
  • Створіть матрицю ваг розміром (n_neurons, n_inputs);
  • Створіть вектор зсувів (bias) розміром (n_neurons, 1);
    • Заповніть обидва випадковими значеннями з рівномірного розподілу в діапазоні [1,1)[-1, 1) за допомогою np.random.uniform().
  1. Реалізуйте пряме поширення (forward propagation) у методі forward():
  • Обчисліть сире значення виходу кожного нейрона за допомогою скалярного добутку:
np.dot(self.weights, self.inputs) + self.biases
  • Застосуйте призначену активаційну функцію до цього результату та поверніть активований вихід.
  1. Визначте шари перцептрона:
  • Створіть два приховані шари, кожен з hidden_size нейронами та з активаційною функцією ReLU;
  • Створіть один вихідний шар з output_size нейроном(ами) та активаційною функцією sigmoid.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4
single

single

some-alt