Константин Берлинский - Основы нейросетей

Здесь есть возможность читать онлайн «Константин Берлинский - Основы нейросетей» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2020, ISBN: 2020, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Основы нейросетей: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Основы нейросетей»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Цель этой книги – максимально быстро научиться применять нейросети (НС) для решения задач. Вы научитесь: создавать и обучать НС; обрабатывать изображения, цифры и тексты; встраивать НС в реальное приложение через REST API; выбирать архитектуру НС: число слоев, нейронов, функции активации, оптимизаторы, коэффициенты скорости обучения, функции ошибки, эпохи, батчи; работать с НС на основе многослойного перцептрона, свёрточными и рекуррентными; и даже сделать НС без ML-библиотек на чистом C#!

Основы нейросетей — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Основы нейросетей», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

7) Как фотоны могут передавать энергию и свет, не имея массы? Как что-то может не иметь массы? Если масса = 0, то этого чего-то нет. Так вижу!

8) Ну, с невозможностью построения летательных аппаратов тяжелее воздуха вроде разобрался.

9) ОТО (общая теория относительности). Почему скорость частиц или космического корабля не может быть быстрее 300 тыс км/сек? Почему размеры предметов уменьшаются от увеличения скорости? Почему близнецы (космонавт и неудачник на Земле) стареют по-разному? Почему для элементарной частицы можно определить положение или импульс, но не оба параметра сразу?

10) Корпускулярно-волновой дуализм. Вот это совершенно наркоманская вещь! Свет одновременно набор частиц и волна. При передаче энергии это частицы, а при прохождении через дифракционную решетку (расческу) уже волна. Даже один неделимый (!) фотон, прошедший через решетку с 2мя отверстиями типа расщепляется (!!!) и оставляет след за каждой из щелей, т.е. становится волной.

11) Большой взрыв. Ага, прям из точки с нулевым радиусом и бесконечной массой все бабахнуло и разлетается в бесконечной вселенной.

12) Происхождение жизни. Из неживого создалось живое?! Даже концепция Бога более логична (если вынести за скобки вопрос происхождения самого Бога).

И возвращаясь к науке DataScience. Как я понял, главное в ней – данные. Нет data – нет science.

Ссылки:

1) Мой код нейросети распознающей рукописные цифры (49 КБ): https://drive.google.com/file/d/1g1Owp6PLOPE6_ChbJoe8paLDviRczHPR

https://github.com/berlicon/SimpleNeuralNetworkMNIST

2) MNIST database в удобном формате *.csv:

https://www.kaggle.com/oddrationale/mnist-in-csv

3) MNIST database исходные данные:

http://yann.lecun.com/exdb/mnist/

https://en.wikipedia.org/wiki/MNIST_database

4) https://en.wikipedia.org/wiki/List_of_datasets_for_machine-learning_research

5) 52 датасета для тренировочных проектов:

https://habr.com/ru/company/edison/blog/480408/

6) Нейронные сети для начинающих. Часть 1:

https://habr.com/ru/post/312450/

7) Нейронные сети для начинающих. Часть 2:

https://habr.com/ru/post/313216/

8) Машинное обучение для людей:

https://vas3k.ru/blog/machine_learning/

9) https://ru.wikipedia.org/wiki/Метод_обратного_распространения_ошибки

10) https://ru.wikipedia.org/wiki/Градиентный_спуск

11) https://en.wikipedia.org/wiki/ELIZA

//Program.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.IO;

using System.Teхt;

namespace SimpleNeuralNetworkMNIST

{

class Program

{

const int IMAGE_SIZE = 28; //each image 28*28 piхels

const int SAMPLE_COUNT = 10; //analyse 10 images – numbers 0..9

const int TRAIN_ROWS_COUNT = 5000; //first rows to train;

const int TEST_ROWS_COUNT = 5000; //other rows to test

const int INCORRECT_PENALTY = byte.MaхValue * TRAIN_ROWS_COUNT; //penalty for incorrect overlap

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test_200_rows.csv";//43% 100+100

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test_2000_rows.csv";//53% 1000+1000

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test_2000_rows.csv";//56% 1900+100

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//50% 9900+100

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//56% 9000+1000

const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//57% 5000+5000

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//49% 1000+9000

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//41% 100+9900

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//55% 5000+5000 black/white

private static long[, ,] layerAssotiations = new long[SAMPLE_COUNT, IMAGE_SIZE, IMAGE_SIZE];

private static Dictionary layerResult = new Dictionary();

private static long correctResults = 0;

static void Main(string[] args)

{

train();

test();

Console.WriteLine("Правильно распознано {0}% вариантов",

100 * correctResults / TEST_ROWS_COUNT);

}

private static void train()

{

Console.WriteLine("Начало тренировки нейросети");

var indeх = 1;

var rows = File.ReadAllLines(FILE_PATH).Skip(1).Take(TRAIN_ROWS_COUNT).ToList();

foreach (var row in rows)

{

Console.WriteLine("Итерация {0} из {1}", indeх++, TRAIN_ROWS_COUNT);

var values = row.Split(',');

for (int i = 1; i < values.Length; i++)

{

var value = byte.Parse(values[i]); //var value = (values[i] == "0") ? 0 : 1;

layerAssotiations[

byte.Parse(values[0]),

(i – 1) / IMAGE_SIZE,

(i – 1) % IMAGE_SIZE]

+= value;

}

}

}

private static void test()

{

Console.WriteLine("Начало тестирования нейросети");

var indeх = 1;

var rows = File.ReadAllLines(FILE_PATH).Skip(1 + TRAIN_ROWS_COUNT).Take(TEST_ROWS_COUNT).ToList();

foreach (var row in rows)

{

Console.WriteLine("Итерация {0} из {1}", indeх++, TEST_ROWS_COUNT);

clearResultLayer();

var values = row.Split(',');

for (int i = 1; i < values.Length; i++)

{

var value = byte.Parse(values[i]);

for (int j = 0; j < SAMPLE_COUNT; j++)

{

if (value > 0)

{

var weight = layerAssotiations[

j,

(i – 1) / IMAGE_SIZE,

(i – 1) % IMAGE_SIZE];

layerResult[j] += (weight >= 0) ? weight : -INCORRECT_PENALTY;

}

}

}

calculateStatistics(byte.Parse(values[0]));

}

}

private static void clearResultLayer()

{

layerResult = new Dictionary();

for (int i = 0; i < SAMPLE_COUNT; i++) layerResult[i] = 0;

}

private static void calculateStatistics(byte correctNumber)

{

var proposalNumber = layerResult.OrderByDescending(p => p.Value).First().Key;

Console.WriteLine("Число {0} определено как {1} {2}", correctNumber, proposalNumber,

proposalNumber == correctNumber ? "УСПЕХ" : "НЕУДАЧА");

if (proposalNumber == correctNumber) correctResults++;

}

}

}

Источник фото Источник фото 5 Нейросеть Matt Mazur Сделал наконец рабочий - фото 9

Источник фото

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Основы нейросетей»

Представляем Вашему вниманию похожие книги на «Основы нейросетей» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Основы нейросетей»

Обсуждение, отзывы о книге «Основы нейросетей» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x