Многослойный персептрон в машинном обучении
Многослойный персептрон или MLP – одна из простейших нейронных сетей с прямой связью. Многослойные персептроны – это типы нейронных сетей, которые являются двунаправленными, поскольку они предваряют распространение входных данных и обратное распространение весов. Если вы хотите узнать о многослойном персептроне в машинном обучении, эта статья для вас. В этой статье я познакомлю вас с многослойным перспептроном и его реализацией с использованием Python.
Многослойный персептрон
Некоторые специалисты по машинному обучению часто путают персептрон и многослойный персептрон. Персептрон – это самая базовая архитектура нейронной сети, также известная как однослойная нейронная сеть. Персептрон специально разработан для задач двоичной классификации, но MLP не имеют ничего общего с персептроном.
Многослойный персептрон имеет входной слой и выходной слой с одним или несколькими скрытыми слоями. В MLP все нейроны одного слоя связаны со всеми нейронами следующего слоя. Здесь входной уровень принимает входные сигналы, а желаемая задача выполняется выходным слоем. А скрытые слои отвечают за все расчеты. Вот архитектура многослойных персептронов:
Надеюсь, теперь вы поняли, что такое многослойный персептрон в машинном обучении. В следующем разделе я расскажу вам о его реализации с использованием Python.
Многослойный персептрон с использованием Python
Мы можем использовать библиотеку Keras в Python для создания архитектуры многопользовательских персептронов с использованием Python. Итак, давайте посмотрим, как построить архитектуру многослойного персептрона с помощью библиотеки Keras в Python:
from keras.models import Sequential from keras.layers import Dense, Activation model = Sequential() model.add(Dense(64, input_dim=2)) model.add(Activation("relu")) model.add(Dense(32)) model.add(Activation("relu")) model.add(Dense(16)) model.add(Activation("relu")) model.add(Dense(2)) model.add(Activation("softmax")) model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=["accuracy"]) model.summary()
Результат:
Model: "sequential_1"
___________________________________________________
Layer (type) Output Shape Param #
================================================
dense_4 (Dense) (None, 64) 192
__________________________________________________
activation_4 (Activation) (None, 64) 0
__________________________________________________
dense_5 (Dense) (None, 32) 2080
__________________________________________________
activation_5 (Activation) (None, 32) 0
__________________________________________________
dense_6 (Dense) (None, 16) 528
__________________________________________________
activation_6 (Activation) (None, 16) 0
__________________________________________________
dense_7 (Dense) (None, 2) 34
__________________________________________________
activation_7 (Activation) (None, 2) 0
================================================
Total params: 2,834
Trainable params: 2,834
Non-trainable params: 0
__________________________________________________
В вышеупомянутую архитектуру нейронной сети я добавил:
- 64 нейрона ко входному слою;
- 32 нейрона к первому скрытому слою;
- 16 нейронов ко второму скрытому слою;
- и 2 нейрона к выходному слою.
Вот как вы можете создать многопользовательский персептрон с помощью Python.
Резюме
В MLP все нейроны одного слоя связаны со всеми нейронами следующего слоя. Здесь входной уровень принимает входные сигналы, а желаемая задача выполняется выходным слоем. А скрытые слои отвечают за все расчеты. Надеюсь, вам понравилась эта статья о введении в многослойный перспептрон и его реализацию с использованием Python.