Нейросеть для чайников
От: Khimik  
Дата: 14.07.18 13:47
Оценка: 1 (1) :)
Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.
Я хотел бы написать на Delphi простую нейросеть, например распознающую буквы. Прошу подсказать хорошие книги и обучающие видеокурсы.

То, что я пока нагуглил, мне как-то не очень нравится. Вот, например, эта статья:

https://zennolab.com/discussion/threads/nejronnye-seti-raspoznovanie-cifr-prostym-jazykom.35859/

Здесь задача уж очень примитивная – распознать один из 10 растров в 3*5 пикселей, которые обозначают цифру. Это проще реализовать банальным перебором и сравнением, я вообще не вижу тут алгоритмической задачи. Мне хочется написать нейросеть, которая сможет распознавать искажённые, наклонённые, сплющенные и т.д. буквы.

В интернете приводятся примеры в основном на Питоне, я надеюсь Delphi тоже вполне подходит для такой задачи. Если Питон – более высокоуровневый язык и это достаточно важно, может мне сначала нужно выучить Питон.

Интерес у меня скорее теоретически-философский – понять, какой принцип лежит в основе работы нейросетей, как они “думают”. Ну и какие у них принципиальные преимущества перед обычным кодом с алгоритмами.
Кроме НС для распознавания букв, интересно было бы написать НС, например, для игры в преферанс, только боюсь это очень сложная задача.
Ещё добавлю, что когда я изучал Delphi, я не мог въехать в принципы ООП по книгам; до меня всё дошло только тогда, когда я сходил на курсы к живому человеку. Поэтому для освоения НС мне, возможно, необходимы хорошие видео. Мне кажется, лучшим вариантом было бы видео, где знающий человек долго объясняет профанам суть концепции, и до тех понемногу начинает доходить.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re: Нейросеть для чайников
От: Salih  
Дата: 14.07.18 14:20
Оценка: 4 (3) :)
Здравствуйте, Khimik, Вы писали:

K>Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.

K>Я хотел бы написать на Delphi простую нейросеть, например распознающую буквы. Прошу подсказать хорошие книги и обучающие видеокурсы.

K>То, что я пока нагуглил, мне как-то не очень нравится. Вот, например, эта статья:


K>https://zennolab.com/discussion/threads/nejronnye-seti-raspoznovanie-cifr-prostym-jazykom.35859/


K>Здесь задача уж очень примитивная – распознать один из 10 растров в 3*5 пикселей, которые обозначают цифру. Это проще реализовать банальным перебором и сравнением, я вообще не вижу тут алгоритмической задачи. Мне хочется написать нейросеть, которая сможет распознавать искажённые, наклонённые, сплющенные и т.д. буквы.


K>В интернете приводятся примеры в основном на Питоне, я надеюсь Delphi тоже вполне подходит для такой задачи. Если Питон – более высокоуровневый язык и это достаточно важно, может мне сначала нужно выучить Питон.


K>Интерес у меня скорее теоретически-философский – понять, какой принцип лежит в основе работы нейросетей, как они “думают”. Ну и какие у них принципиальные преимущества перед обычным кодом с алгоритмами.

K>Кроме НС для распознавания букв, интересно было бы написать НС, например, для игры в преферанс, только боюсь это очень сложная задача.
K>Ещё добавлю, что когда я изучал Delphi, я не мог въехать в принципы ООП по книгам; до меня всё дошло только тогда, когда я сходил на курсы к живому человеку. Поэтому для освоения НС мне, возможно, необходимы хорошие видео. Мне кажется, лучшим вариантом было бы видео, где знающий человек долго объясняет профанам суть концепции, и до тех понемногу начинает доходить.

почитайте вот это с тех времён нейросети не продвинулись, если не сможете скачать, то напишитие в личку.

что касается философии, то нейросети имеют очень ограниченную область применения, в первую очередь потому, что программисты возлагают большие надежды на их способность к самообучению, но при этом упускают из виду то, что эффективный характер обучения объекта подразумевает взаимодействие с этим объектом, а при взаимодействии объект ведёт себя совершенно иначе, чем при просто наблюдении. и вот тут-то нейросети наталкиваются на философский закон: нельзя познать систему до конца, если ты сам являешься её частью.
Мой совет: почитайте математику лежащую в основе нейросетей — она интересная, но прежде чем программировать приложения задумайтесь на сколько ваша нейросеть будет чувствительна к обучающему набору? может оператор или эвристические алгоритмы/шаблоны справятся лучше? К примеру: Abbyy по состоянию на 2006 год нейросети точно не использовала, да и сейчас скорее всего не использует.
Re: Нейросеть для чайников
От: anonymouse2 Иностранный Агент
Дата: 14.07.18 14:23
Оценка: :)
Здравствуйте, Khimik, Вы писали:

K>Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.

K>Я хотел бы написать на Delphi простую нейросеть, например распознающую буквы. Прошу подсказать хорошие книги и обучающие видеокурсы.

Можно начать например со статьи на вики:
https://ru.wikipedia.org/wiki/Перцептрон
Нет такого преступления, на которое не пошло бы суверенное родоплеменное быдло ради продления своего бессмысленного рода и распространения своего бессмысленного генома.
Re: Нейросеть для чайников
От: Michael7 Россия  
Дата: 14.07.18 14:34
Оценка: +1
Здравствуйте, Khimik, Вы писали:

K>Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.


В философском смысле сегодняшний бум нейросетей — это классический переход количества в качество. Вычислительные нейросети были придуманы давно, еще в 60-х, но были скорее демонстрационной игрушкой, а для практических применений было проще что-то явным образом запрограммировать. И только где-то в 80-90-х впервые появились достаточно дешевые вычислительные ресурсы, достаточные для того, чтобы чего-то практически полезное натренировать. Например, в OCR-программе Cuneiform в начале 90-х разработчики использовали нейросетку для тренировки в распознавании различных областей на бумаге (текст, таблицы, графика, свободные места). По-видимому, также поступили и в Finereader, но их исходники закрыты. Где-то к 2010-м годам появились и достаточные инструменты и ресурсы, чтобы нейросетками стали заниматься все кому не лень. Ну и теория, конечно развивалась.

Где-то так я это вижу.
Re[2]: Нейросеть для чайников
От: Salih  
Дата: 14.07.18 14:34
Оценка: -1
Здравствуйте, anonymouse2, Вы писали:

A>Здравствуйте, Khimik, Вы писали:


K>>Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.

K>>Я хотел бы написать на Delphi простую нейросеть, например распознающую буквы. Прошу подсказать хорошие книги и обучающие видеокурсы.

A>Можно начать например со статьи на вики:

A>https://ru.wikipedia.org/wiki/Перцептрон

не уважаю я википедиков, но вот это тоже прочитайте, прежде чем программировать что-либо
Re[2]: Нейросеть для чайников
От: Salih  
Дата: 14.07.18 14:36
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Здравствуйте, Khimik, Вы писали:


K>>Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.


M>В философском смысле сегодняшний бум нейросетей — это классический переход количества в качество. Вычислительные нейросети были придуманы давно, еще в 60-х, но были скорее демонстрационной игрушкой, а для практических применений было проще что-то явным образом запрограммировать. И только где-то в 80-90-х впервые появились достаточно дешевые вычислительные ресурсы, достаточные для того, чтобы чего-то практически полезное натренировать. Например, в OCR-программе Cuneiform в начале 90-х разработчики использовали нейросетку для тренировки в распознавании различных областей на бумаге (текст, таблицы, графика, свободные места). По-видимому, также поступили и в Finereader, но их исходники закрыты. Где-то к 2010-м годам появились и достаточные инструменты и ресурсы, чтобы нейросетками стали заниматься все кому не лень. Ну и теория, конечно развивалась.


M>Где-то так я это вижу.


в Finereader по состоянию на 2006 год не было нейросетей, и сейчас скорее всего нет. нейросети очень чуствительны к обучающему набору.
Re[3]: Нейросеть для чайников
От: Michael7 Россия  
Дата: 14.07.18 14:45
Оценка:
Здравствуйте, Salih, Вы писали:

S>в Finereader по состоянию на 2006 год не было нейросетей, и сейчас скорее всего нет.


Когда в 2008-2009 году только открыли исходники Cuneiform, там рылись в них, обсуждали, и в движке Tiger были замечены довольно явные следы (наборы коэффициентов и деревья), что это похоже было на продукт нейросетки. Если в Finereader их не было, это лишний раз доказывает, что для достижения результата они в принципе не обязательны.

S> нейросети очень чуствительны к обучающему набору.


Это да, вообще грамотно их обучить — это отдельная задача, но некоторым сейчас кажется, что нейросеть — это такой вид современной программистской халявы, типа создал сетку, нахапал данных и как в мясорубку пихаешь, а оно там само ништяки на выходе дает.
Re[2]: Нейросеть для чайников
От: Khimik  
Дата: 14.07.18 16:35
Оценка:
S>почитайте вот это с тех времён нейросети не продвинулись, если не сможете скачать, то напишитие в личку.

Ох, наверно так устану от чтения...
Мне ведь надо просто понять саму идею, "философию", а дальше я сам напишу на дельфи свою НС и буду её развивать. У меня вообще такой подход к программированию: например, моя графическая программа рисует трехмерные цилиндры и сферы, и мне было проще разобраться с низкоуровневым программированием, написать алгоритмы расчёта цвета каждой точки, чем осваивать разные DirectX/Opengl. Результат получился
вполне хорош
Автор: Khimik
Дата: 06.05.15
.

S>что касается философии, то нейросети имеют очень ограниченную область применения, в первую очередь потому, что программисты возлагают большие надежды на их способность к самообучению, но при этом упускают из виду то, что эффективный характер обучения объекта подразумевает взаимодействие с этим объектом, а при взаимодействии объект ведёт себя совершенно иначе, чем при просто наблюдении. и вот тут-то нейросети наталкиваются на философский закон: нельзя познать систему до конца, если ты сам являешься её частью.


Ну не знаю, я слышал что сейчас большинство профессионального массового софта — это нейросети. Получается что их тренировать всё-таки намного легче, чем писать алгоритмы. Вот в этой теме
Автор: itmanager85
Дата: 06.12.17
писали, что нейросеть для игры в шахматы быстро забила старые программы.

Можете пояснить другими словами насчёт взаимодействия и познания? Пока не понятно.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re: Нейросеть для чайников
От: The Passenger Голландия  
Дата: 14.07.18 17:04
Оценка: 1 (1) +1
Здравствуйте, Khimik, Вы писали:

K>Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.


По мне так сеть — это больше как большая вероятностная база данных ( поэтому даже стали появляться даже топики о том что сча сети пихают везде и даже там где достаточно SQL )
с той лишь разницей что к базе есть конкретный запрос и получишь конкретный ответ
а на запрос к сети ( подача данных на вход )ты получаешь чтото типа хайли лайкли.

тренировка сети — это чтото типа набивание такой базы.

т.е. сети не думают от слова вообще ... вот комбинации сетей думаю смогут больше ( точнее могут — например игровые системы такие как alphago имеют сети для расознавания картинки и для логики
свои подсети )

еще раз — нам нужен раздел по нейросетям

... а то у меня вопрос висит http://rsdn.org/forum/other/7195494.1
Автор: The Passenger
Дата: 13.07.18
Весь мир — Кремль, а люди в нем — агенты
Отредактировано 14.07.2018 17:22 The Passenger . Предыдущая версия . Еще …
Отредактировано 14.07.2018 17:06 The Passenger . Предыдущая версия .
Re[3]: Нейросеть для чайников
От: andrey.desman  
Дата: 15.07.18 13:19
Оценка:
Здравствуйте, Khimik, Вы писали:

K> Ох, наверно так устану от чтения...

K> Мне ведь надо просто понять саму идею, "философию", а дальше я сам напишу на дельфи свою НС и буду её развивать.



Философия у нее простая — это интерполяция. Берешь набор точек, по ним строишь интерполяционную функцию, ..., PROFIT.
Re[4]: Нейросеть для чайников
От: steep8  
Дата: 16.07.18 05:04
Оценка:
Здравствуйте, andrey.desman, Вы писали:

AD>Философия у нее простая — это интерполяция. Берешь набор точек, по ним строишь интерполяционную функцию, ..., PROFIT.


А т.к. количество таких функций бесконечно большое, то и результаты получаются различные , типа игра в угадайку.
А потом раз в критичный момент и окажется, что функция была не та .
Re[3]: Нейросеть для чайников
От: Salih  
Дата: 16.07.18 09:07
Оценка: 1 (1)
Здравствуйте, Khimik, Вы писали:

S>>почитайте вот это с тех времён нейросети не продвинулись, если не сможете скачать, то напишитие в личку.


K> Ох, наверно так устану от чтения...

K> Мне ведь надо просто понять саму идею, "философию", а дальше я сам напишу на дельфи свою НС и буду её развивать. У меня вообще такой подход к программированию: например, моя графическая программа рисует трехмерные цилиндры и сферы, и мне было проще разобраться с низкоуровневым программированием, написать алгоритмы расчёта цвета каждой точки, чем осваивать разные DirectX/Opengl. Результат получился
вполне хорош
Автор: Khimik
Дата: 06.05.15
.

Идея проста: поиск линейной интерполяции произвольной функции n-переменных. вот вы ленитесь читать приведённую ссылку, а там как раз написано, что любую функцию можно представить в виде суперпозиции линейных функций и функции двух переменных, и следовательно нейросетью можно представить любую функцию.


S>>что касается философии, то нейросети имеют очень ограниченную область применения, в первую очередь потому, что программисты возлагают большие надежды на их способность к самообучению, но при этом упускают из виду то, что эффективный характер обучения объекта подразумевает взаимодействие с этим объектом, а при взаимодействии объект ведёт себя совершенно иначе, чем при просто наблюдении. и вот тут-то нейросети наталкиваются на философский закон: нельзя познать систему до конца, если ты сам являешься её частью.


K>Ну не знаю, я слышал что сейчас большинство профессионального массового софта — это нейросети. Получается что их тренировать всё-таки намного легче, чем писать алгоритмы. Вот в этой теме
Автор: itmanager85
Дата: 06.12.17
писали, что нейросеть для игры в шахматы быстро забила старые программы.


K>Можете пояснить другими словами насчёт взаимодействия и познания? Пока не понятно.


смотрите: вот есть сложная n-мерная функция X, нейросети для части n-мерных точек дают значения этой функции X, и нейросеть способна построить приближение этой функции, т.е. на выходе будет функция Y, которая для любой точки n-мерного пространства сможет вычислить значение, которые будут примерно равно значению функции X в этой точке.
Чем больше значений вы скормите нейросети, тем точнее Y будет приближаться к X.
И вот вы уже подобрались к задаче с помощью нейросети написать робота, который торгует на бирже, но не тут-то было, в вашем n-мерном пространстве, которое вы для себя изначально приняли, возникают новые переменные — ваши длинные и короткие ставки, которые также влияют на систему, которую вы пытаетесь "изучить". Причём не обязательно чтобы ваши ставки были большими, даже маленькие ставки как информационный прецедент могут влиять на цену. Очевидно, что если игнорировать собственные ставки, то нейросеть будет хуже, чем если их не игнорировать, если учитывать собственные ставки, то речь уже пойдёт не о функциях, а об уравнениях в n-мерном пространстве, как например x^2+y^2=1, и тут очевидно для одного x можно подобрать 2 разных y, например x = корень(1/2), y может быть равен корень(1/2) или -корень(1/2). в n-мерном пространстве при очень больших n эта ситуация настолько усугубляется, что любые попытки создать что-то вменяемое для больших n натыкается на экспоненциальный рост сложности или и вовсе на логические ошибки.
Вот более жизненный пример — задача распознавания печатного текста:
учишь учишь сеть на таймс-нью-роман, а потом даёшь ему текст на ариале и сеть начинает ложать, потом обучаешь на ариале, потом на другом шрифте и т.д.,
в итоге оказывается более эффективным у источника уточнять, что за шрифт, потом оказывается не плохо иметь базу данных слов, чтобы додумывть плохо распознанное, причём эта база данных из слов уже никакого отношения к нейросети не имеет, вообщем для имитации любого маломальски интелектуального процессе необходимо динамически изменять размерность обрабатываемых сигналов, а это, увы, неподсилу нейросетям.
Re[5]: Нейросеть для чайников
От: Salih  
Дата: 16.07.18 09:28
Оценка:
Здравствуйте, steep8, Вы писали:

S>Здравствуйте, andrey.desman, Вы писали:


AD>>Философия у нее простая — это интерполяция. Берешь набор точек, по ним строишь интерполяционную функцию, ..., PROFIT.


S>А т.к. количество таких функций бесконечно большое, то и результаты получаются различные , типа игра в угадайку.

S>А потом раз в критичный момент и окажется, что функция была не та .
золотые слова!
Re[2]: Нейросеть для чайников
От: Salih  
Дата: 16.07.18 09:45
Оценка:
Здравствуйте, The Passenger, Вы писали:

TP>Здравствуйте, Khimik, Вы писали:


K>>Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.


TP>По мне так сеть — это больше как большая вероятностная база данных ( поэтому даже стали появляться даже топики о том что сча сети пихают везде и даже там где достаточно SQL )

TP>с той лишь разницей что к базе есть конкретный запрос и получишь конкретный ответ
TP>а на запрос к сети ( подача данных на вход )ты получаешь чтото типа хайли лайкли.

TP>тренировка сети — это чтото типа набивание такой базы.


TP>т.е. сети не думают от слова вообще ... вот комбинации сетей думаю смогут больше ( точнее могут — например игровые системы такие как alphago имеют сети для расознавания картинки и для логики

TP>свои подсети )

TP>

еще раз — нам нужен раздел по нейросетям

... а то у меня вопрос висит http://rsdn.org/forum/other/7195494.1
Автор: The Passenger
Дата: 13.07.18


в успехах alphago не разбирался, но сразу скажу навык игры в шахматы мало помогает в реальной жизни. на каком-нибудь хакатоне роботов alphago получила бы по щам.
и прогноз погоды она бы не смогла нормальный составить.
Re: Нейросеть для чайников
От: vsb Казахстан  
Дата: 16.07.18 10:26
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Я прочитал одну книгу про нейросети, и по-прежнему осознаю, что не понимаю, что это такое. Т.е. я вижу, что нейросети “думают” принципиально другим образом, чем программы, которые мы пишем, но ничего конкретнее сформулировать не могу.

K>Я хотел бы написать на Delphi простую нейросеть, например распознающую буквы. Прошу подсказать хорошие книги и обучающие видеокурсы.

Насколько я понимаю, надо читать Andrew Ng. Вроде он на курсере курс ведёт или где-то там.

K>https://zennolab.com/discussion/threads/nejronnye-seti-raspoznovanie-cifr-prostym-jazykom.35859/


K>Здесь задача уж очень примитивная – распознать один из 10 растров в 3*5 пикселей, которые обозначают цифру. Это проще реализовать банальным перебором и сравнением, я вообще не вижу тут алгоритмической задачи. Мне хочется написать нейросеть, которая сможет распознавать искажённые, наклонённые, сплющенные и т.д. буквы.


Надо понимать, что нейросети известны уже давно, я лет 15 назад читал книгу по нейросетям. Но пользу они начали приносить недавно после изобретения некоторых прорывных алгоритмов обучения.

K>В интернете приводятся примеры в основном на Питоне, я надеюсь Delphi тоже вполне подходит для такой задачи. Если Питон – более высокоуровневый язык и это достаточно важно, может мне сначала нужно выучить Питон.


Насколько я понимаю, для пайтона есть очень качественные реализации нейросетей, в том числе поэтому его и используют. Если хочешь реализовать сам движок нейросетей, можно, наверное, и на дельфе, но это уже другая задача, в общем-то чисто техническая. Нейросеть для чайников обычно подразумевает готовый движок, а ты уже учишься его пользовать. Вряд ли ты напишешь что-то сопоставимое по скорости с существующими лидирующими библиотеками.

K>Ещё добавлю, что когда я изучал Delphi, я не мог въехать в принципы ООП по книгам; до меня всё дошло только тогда, когда я сходил на курсы к живому человеку. Поэтому для освоения НС мне, возможно, необходимы хорошие видео. Мне кажется, лучшим вариантом было бы видео, где знающий человек долго объясняет профанам суть концепции, и до тех понемногу начинает доходить.


Я бы начал отсда: https://www.coursera.org/learn/machine-learning
Re[3]: Нейросеть для чайников
От: The Passenger Голландия  
Дата: 16.07.18 10:27
Оценка: +1
Здравствуйте, Salih, Вы писали:

TP>>

еще раз — нам нужен раздел по нейросетям

... а то у меня вопрос висит http://rsdn.org/forum/other/7195494.1
Автор: The Passenger
Дата: 13.07.18


S>в успехах alphago не разбирался, но сразу скажу навык игры в шахматы мало помогает в реальной жизни. на каком-нибудь хакатоне роботов alphago получила бы по щам.

S>и прогноз погоды она бы не смогла нормальный составить.

вот как раз для прогноза погоды, при наличии достаточного количества данных, нейронные сети — самое оно
Весь мир — Кремль, а люди в нем — агенты
Re[2]: Нейросеть для чайников
От: Khimik  
Дата: 16.07.18 10:31
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Я бы начал отсда: https://www.coursera.org/learn/machine-learning


Не хочу пока на английском, надеюсь что найдётся альтернатива на русском. От английского я слишком устаю.
Хотелось бы всё-таки найти хорошее видео на русском.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Отредактировано 16.07.2018 10:32 Khimik . Предыдущая версия .
Re[4]: Нейросеть для чайников
От: Khimik  
Дата: 16.07.18 10:33
Оценка:
Здравствуйте, The Passenger, Вы писали:

TP>Здравствуйте, Salih, Вы писали:


TP>>>

еще раз — нам нужен раздел по нейросетям

... а то у меня вопрос висит http://rsdn.org/forum/other/7195494.1
Автор: The Passenger
Дата: 13.07.18


S>>в успехах alphago не разбирался, но сразу скажу навык игры в шахматы мало помогает в реальной жизни. на каком-нибудь хакатоне роботов alphago получила бы по щам.

S>>и прогноз погоды она бы не смогла нормальный составить.

TP>вот как раз для прогноза погоды, при наличии достаточного количества данных, нейронные сети — самое оно


Вот как такое получается? Прогноз же делать — это не в шахматы играть, нужна умная теория и т.д. Получается что нейронные сети уже более разумны, чем человек?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re: Нейросеть для чайников
От: Young yunoshev.ru
Дата: 16.07.18 10:46
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Я хотел бы написать на Delphi простую нейросеть, например распознающую буквы. Прошу подсказать хорошие книги и обучающие видеокурсы.

K>В интернете приводятся примеры в основном на Питоне, я надеюсь Delphi тоже вполне подходит для такой задачи. Если Питон – более высокоуровневый язык и это достаточно важно, может мне сначала нужно выучить Питон.

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

Но я уверен что враппер к тому же Tensorflow есть и для дельфи — берите его и вперед.

K>Интерес у меня скорее теоретически-философский – понять, какой принцип лежит в основе работы нейросетей, как они “думают”. Ну и какие у них принципиальные преимущества перед обычным кодом с алгоритмами.

K>Кроме НС для распознавания букв, интересно было бы написать НС, например, для игры в преферанс, только боюсь это очень сложная задача.

Сложность этой задаче сугубо в реализации агента в котором будет все симулироваться — обычно это делают для https://github.com/openai/gym
Далее, мне кажется вполне одна из реализация asynchronous advantage actor-critic algorithm (a3c) справиться достаточным образом.

K>Ещё добавлю, что когда я изучал Delphi, я не мог въехать в принципы ООП по книгам; до меня всё дошло только тогда, когда я сходил на курсы к живому человеку. Поэтому для освоения НС мне, возможно, необходимы хорошие видео. Мне кажется, лучшим вариантом было бы видео, где знающий человек долго объясняет профанам суть концепции, и до тех понемногу начинает доходить.


Если вы хотите фундаментально — то вот — https://ru.coursera.org/learn/vvedenie-mashinnoe-obuchenie
Дальше уже конкретика по тому что вам интересно в первую очередь.
Но повторюсь — в целом паралельном мучать примеры и делать реализации очень полезно.
Для этого все же лучше освоить Python
Re[5]: Нейросеть для чайников
От: The Passenger Голландия  
Дата: 16.07.18 11:18
Оценка: -1
Здравствуйте, Khimik, Вы писали:

TP>>вот как раз для прогноза погоды, при наличии достаточного количества данных, нейронные сети — самое оно


K>Вот как такое получается? Прогноз же делать — это не в шахматы играть, нужна умная теория и т.д. Получается что нейронные сети уже более разумны, чем человек?


нет просто если при какихто обстоятельтсвах — давление, температура, облачность, время года, время дня и т.д. — шел дождь в 90% случаев.
то тогда вероятность дождя — 90% ... вот и все, никакой магии
Весь мир — Кремль, а люди в нем — агенты
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.