Здравствуйте, хотелось бы понять как устроены программы машинного обучения, поэтому хотелось реализовать понятный пример, к примеру научить НС арифметическим операциям, а именно с сложению чисел. Так как это можно сделать, если можно на пальцах объясните, если можно с кодом.
Советую начать с гугла и вообще понимания что такое НС.
Простейшей НС является персептрон и распознавание символов - этих примеров в интернетах полно - вот с них и начинайте, чтобы понять что такое входы, выходы, нейроны и прочее и как их можно переложить на вашу конкретную задачу.
Неплохая статья: https://habr.com/post/134998/
Теорию читал, примеры видел, знаю что есть крытые слои, что такое backpropagation, что такое весы, знаю что делятся на виды рекуррентные, свёрточные и многие другие. Для обучения нужны данные много данных, поэтому и хочется обучить ее на цифрах, их не надо искать, собирать. Да конечно уже есть готовые данные для обучения, но все же охото узнать на практике как это делается, а не шаблонами пользоваться.
Какой по вашему мнению лучше всего подойдет вид НС для сложение чисел?
Kooper_pro, для обучения сети, отличающей цифры - достаточно 10 картинок - цифр ровно столько. Плюс зашумленные картинки - можно аж генератор написать для них. А можно вообще не на картинках, а на матрице из текстового файла.
Для сложения чисел не подходят нейронные сети - это не их задача. Теорию вы не читали.
Можно попробовать взять рекурентную сеть, которая на вход будет получать два числа в виде последовательностей их цифр, а на выходе выдавать последовательность-сумму чисел. Она должна достаточно легко выучить правила сложения и переноса в следующий разряд.
Прочитал внимательно. Цитирую.
"научить НС арифметическим операциям, а именно с сложению чисел. "
Вопросы остались:
Зачем использовать нейросеть для сложения чисел?
Где потом можно применить "Наученную" нейросеть?
Какие такие суперзнания получит ТС, выполнив это "упражнение", и где они ему в дальнейшем понадобятся?
К суперзадаче обучения сети "суперинтересной" операции XOR эти вопросы тоже относятся.
"Hello World" - на любом языке программирования - это как минимум:
-Представление о структуре программы;
-Представление о том, как заставить программу работать.
-Понимание, что такое компиляция и выполнение.
-Сведения о том, где и как можно хранить программы.
-Знакомство с функцией вывода.
Все это понадобиться в дальнейшей работе. Чем раньше познакомитесь - тем лучше.
А что даст нейросеть для сложения? Ну обучите хотя-бы угадывать стоимость билета от длинны маршрута, и то толку будет больше.
Например, понимание, как сохранять\загружать модели в каком-нибудь Tensorflow; как там символьный цикл написать; как связаны значения весов, граф и сессия; как дебажить программу.
Польза от предсказания стоимости билета, по-моему, точно такая же нулевая.
dmshar, не ищите прагматический смысл в данной задаче, как сказал ivodopyanov, это нужно что бы понимать, как устроены нс и с чем их едят, на более простом примере. Но как я понял самый простой пример это наверное, это обучение операции XOR или же классификации цифр на отрицательные и положительные.