Один нейрон на PyTorch"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "qXw0nCxpYKGN"
},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "Uu6PnHTBYKGP"
},
"source": [
"В этом ноутбуке мы научимся писать свои нейросети на фреймворке PyTorch, конкретно -- рассмотрим, как написать свой нейрон с разными функциями потерь и рассмотрим его работу на конкретных датасетах."
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "vJUIW4lbYKGQ"
},
"source": [
"
Компоненты нейросети
"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "1rRqYPXkYKGT"
},
"source": [
"Здесь самое время напомнить о том, какие вещи играют принципиальную роль в построении любой ***нейронной сети*** (все их мы задаём *руками*, самостоятельно): \n",
"\n",
"- непосредственно, сама **архитектура** нейросети (сюда входят типы функций активации у каждого нейрона);\n",
"- начальная **инициализация** весов каждого слоя;\n",
"- метод **оптимизации** нейросети (сюда ещё входит метод изменения `learning_rate`);\n",
"- размер **батчей** (`batch_size`);\n",
"- количество **эпох** обучения (`num_epochs`);\n",
"- **функция потерь** (`loss`); \n",
"- тип **регуляризации** нейросети (для каждого слоя можно свой); \n",
"\n",
"То, что связано с ***данными и задачей***: \n",
"- само **качество** выборки (непротиворечивость, чистота, корректность постановки задачи); \n",
"- **размер** выборки; "
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "OhtWBx1qYKGU"
},
"source": [
"