Форум программистов, компьютерный форум CyberForum.ru

Понятие нейронная сеть - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
16.11.2013, 10:40     Понятие нейронная сеть #1
У меня возникли некоторые недопонимания в процессе изучения нейронной сети.

1) Как я понял нейронная сеть - это универсальный инструмент для решения задач ???
2) Если писать нейросеть, то нужно ее оптимизировать под конкретную задачу или можно сделать из нее средсвто для решения бесконечного кол-ва задач???

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

Подскажите где мне могут объяснить(очень подробно) как конкретно работает эта сеть. Вообще что это такое.

Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
marisinka
0 / 0 / 0
Регистрация: 12.11.2013
Сообщений: 4
16.11.2013, 10:57     Понятие нейронная сеть #2
Нейронная сеть - это по-сути имитация работы главного мозга человека. Для начала стоит наверное почитать про перцептрон (однослойный). Когда там все станет понятно - перейти к многослойному перцептрону. Эти нейросети, наверное, самые простые для понимания.
Да, они универсальны, но к каждой задаче нейросеть нужно адаптировать.
Касательно книг - даже и не знаю.. Сама когда разбирала, не одним источником пользовалась..
Возможно, для общего понимания посмотрите вот это:
http://habrahabr.ru/post/143129/
ninja_1
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 17
16.11.2013, 11:00     Понятие нейронная сеть #3
посмотри самое простое - перцептон, там легко понять суть

НС это не универсальный инструмент, она предназначена для распознавания образов, то есть некоторой комбинации элементов - массивы любой размерности

кроме распознавания образов надо же решать и другие задачи вычислительные

пример-
в массиве три элемента. три бита
сеть реагирует на комбинацию 0-1-0. то есть она распознает такую комбинацию
можно настроить помехоустойчивость и распознавать комбинации похожие на шаблон
например шаблон= 010101010101 но сеть распознает комбинацию 010101010111 как похожую на искомую
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
16.11.2013, 16:09  [ТС]     Понятие нейронная сеть #4
ninja_1, marisinka, Весь день сегодня читал про нейронные сети и вроде немного понял что это такое.

Получается все работает по алгоритму
1) Даю данные
2) Несколько систем обрабатывают
3) Вывод более правильной системы

А можете привести простой пример нейронной сети для крестиков-ноликов. Не код, а просто русским языком объяснить как все будет работать?
Avazart
 Аватар для Avazart
6903 / 5143 / 253
Регистрация: 10.12.2010
Сообщений: 22,615
Записей в блоге: 17
16.11.2013, 16:12     Понятие нейронная сеть #5
Нейронные сети имеют узкую специализацию, кроме того определенные типы сетей решают определенные задачи давая определенный результат.
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
16.11.2013, 16:15  [ТС]     Понятие нейронная сеть #6
Цитата Сообщение от Avazart Посмотреть сообщение
Нейронные сети имеют узкую специализацию, кроме того определенные типы сетей решают определенные задачи давая определенный результат.
Ну а крестики-нолики чем не задача?
Avazart
 Аватар для Avazart
6903 / 5143 / 253
Регистрация: 10.12.2010
Сообщений: 22,615
Записей в блоге: 17
16.11.2013, 16:33     Понятие нейронная сеть #7
Цитата Сообщение от Egor138 Посмотреть сообщение
Ну а крестики-нолики чем не задача?
Задача, но правила игры не меняются, возможные ходы тоже, а значит можно предсказать возможные исходы игры и без этапов обучения нейронной сети, и без нее в общем.
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
16.11.2013, 19:08  [ТС]     Понятие нейронная сеть #8
Цитата Сообщение от Avazart Посмотреть сообщение
Задача, но правила игры не меняются, возможные ходы тоже, а значит можно предсказать возможные исходы игры и без этапов обучения нейронной сети, и без нее в общем.
А кроме распознания чего либо, где еще можно использовать сеть?
ninja_1
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 17
16.11.2013, 19:22     Понятие нейронная сеть #9
НС это не серебрянная пуля
их давным давно придумали, а толку мало. сложность и непонятность большая. другие технологии дают сравнимый по эффективности результат - это я понял когда также пытался курить вопрос

думаю проще что то свое придумать взяв за основу некоторые принципы
потому что за десятилетия никто толком ничо не придумал полезного, простого и понятного
Avazart
 Аватар для Avazart
6903 / 5143 / 253
Регистрация: 10.12.2010
Сообщений: 22,615
Записей в блоге: 17
16.11.2013, 19:28     Понятие нейронная сеть #10
Цитата Сообщение от ninja_1 Посмотреть сообщение
думаю проще что то свое придумать взяв за основу некоторые принципы
потому что за десятилетия никто толком ничо не придумал полезного
А ты думаешь на Antigate.com капчу люди распознают ?

Добавлено через 2 минуты
Цитата Сообщение от Egor138 Посмотреть сообщение
А кроме распознания чего либо, где еще можно использовать сеть?
Та думаю везде где есть какая-то вариативность, и где есть выгода от переобучения, можно применять.

Есть к примеру задачи прогнозирования.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
16.11.2013, 19:31     Понятие нейронная сеть #11
Egor138, не стоит ошибочно считать нейросети "имитацией мозга" и "искусственным разумом". Да, из-за названия "нейронные" их окружает ореол романтики об исскусстевенном разуме и сверхтехнологиях, но даже если чуть-чуть почитать по теме, можно даже новичку понять, для чего можно их использовать, а для чего нельзя.

Во-первых, никакой "имитации нейронов мозга" попросту нет. Мухи отдельно, котлеты отдельно. Есть модель, чем-то напоминавшая кибернетикам-мечтателям годов этак из 60ых структуру нейронов человека.http://hephaestusaudio.com/media/200...al-network.png
И есть простая математическая модель (по крайней мере в случае простого персептрона), сводящаяся к системе линейных уравнений. Которая в простейшем случае сводится всего на всего к разбиению пространства. Да, например в этой статье есть перкрасная картинка, которая показывает, что линейная нейросеть умеет всего навсего разбивать пространство на несколько частей. http://www.codeproject.com/Articles/...ear-Classifier
ninja_1
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 17
16.11.2013, 19:32     Понятие нейронная сеть #12
ну я и говорю что распознавание массивов работает

а всё остальное как то в тумане непонятно и трудно
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
16.11.2013, 19:37     Понятие нейронная сеть #13
Egor138, Таким образом, лучшая работа, которую можно поручить таким простейшим нейросетям это классификация входных сигналов по разным группам. Таким образом, это позволяет применять нейросети, например в области машинного зрения. Однако, никаких искусственных разумов для этого не требуется, конечно. Просто система разбивает n-мерное пространство входных сигналов на "похожие на образец" и "не похожие на образец" такими вот n-мерными плоскостями, подбирая для них линейные коэффициенты.
Avazart
 Аватар для Avazart
6903 / 5143 / 253
Регистрация: 10.12.2010
Сообщений: 22,615
Записей в блоге: 17
16.11.2013, 19:40     Понятие нейронная сеть #14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
такими вот n-мерными плоскостями, подбирая для них линейные коэффициенты.
Ээ а как это работает в человеческом мозге ? Думаю похожим образом.

Думаю более сложные комбинации сетей дают намного большие возможности, но и требуют лучшего анализа и больших знаний.

Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
16.11.2013, 20:01  [ТС]     Понятие нейронная сеть #15
Ну я понимаю, что это ограниченна система. Но как я не пытаюсь вникнуть в строение нейрона, ничего не понимаю
Есть где нибудь пример распознавание цифр или букв с обучением?? Только именно на c++???
VTsaregorodtsev
297 / 277 / 35
Регистрация: 19.02.2010
Сообщений: 1,210
17.11.2013, 21:28     Понятие нейронная сеть #16
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
никакой "имитации нейронов мозга" попросту нет
Зато можно сделать имитацию структуры и принципов функционирования одной из областей зрительной системы животных (когнитрон, неокогнитрон и свёрточная нейросеть основаны на результатах биологических исследований нобелевцев Хьюбела и Визеля - на идее о чередующихся разнотипных слоях и на идее бипирамидальности).

Цитата Сообщение от Egor138 Посмотреть сообщение
Есть где нибудь пример распознавание цифр или букв с обучением?? Только именно на c++???
Есть у меня ссылочка, но для свёрточной нейросети (а она - слишком сложна пока для Вас) и на английском (английский как в описательном тексте - так и в комментах к проге). Именно распознавание рукописных цифр (причём задачка сама по себе сложная - 60тыс картинок в обучающей выборке).
Т.е. пусть сначала Вам посоветуют что-то начальное, персептрон с одним скрытым слоев, например.
newbie666
Заблокирован
17.11.2013, 21:56     Понятие нейронная сеть #17
не изучай чужие модели нейронных сетей. Напрягай свой мозг и придумывай свои. Тебе крайне необходимо изучить nVidia CUDA, профессиональная работа с нейронными сетями идёт в массивно параллельных режимах.
Лично у меня есть в голове модель нейронной сети, которая подойдёт для множества задач, в том числе для распознавания речи и компьютерного зрения. Но принцип я естественно не расскажу, т.к. по данной модели можно создать комплексную систему искусственного интеллекта, которая будет, например, распознавать речь на несколько порядков лучше, чем сейчас делают все. Как дела разгребу - буду открывать контору по распознаванию/ синтезу речи.
VTsaregorodtsev
297 / 277 / 35
Регистрация: 19.02.2010
Сообщений: 1,210
17.11.2013, 22:28     Понятие нейронная сеть #18
newbie666, я с нейросетками работаю профессионально - но на CUDA совсем не смотрю. Потому, что и на обычном процессоре я могу решать задачи распознавания изображений при объемах обучающей выборки в ДЕСЯТКИ ГИГАБАЙТ.
Просто всё зависит от умения писать быстрые расчётные программы. В данном случае у меня расчёты векторизованы (идут с использованием SIMD-команд процессора), нелинейные функции нейронов аппроксимируются (расчёт в этом месте тоже векторизован), и распараллеливание на несколько ядер процессора не использует никаких средств межпоточной синхронизации на уровне операционки (только на уровне самого процессора). В общем, мой код по скорости обгоняет чужой (для того же вида сети) на 1-2 порядка (т.е. быстрее в 10-100 раз), и этого хватает, чтобы не лезть в CUDA/OpenCL.
А кто не умеет писать быструю математику - тот и для CUDA напишет тормозной код. Т.к. очень многое зависит от того, как спроектирована программа и данные (можно ли, например, векторизовать расчёты - или нет).

Добавлено через 2 минуты
Да - я при разговоре о скорости имел в виду свёрточные нейронные сети, т.к. обычный многослойный персептрон в современных задачах распознавания изображений малопригоден (не даёт нужной точности обобщения и нужных степеней инвариантности к изменениям положения объекта на картинке, поворотам, изменениям размера,...).
newbie666
Заблокирован
17.11.2013, 22:40     Понятие нейронная сеть #19
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
А кто не умеет писать быструю математику - тот и для CUDA напишет тормозной код
такое ощущение, что я сказал что я сам валенок и пишу тормозной код

Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
свёрточные нейронные сети, т.к. обычный многослойный персептрон
Это всё полнейшая ерунда. Я знаю, как сделать абсолютно революционную вещь на модели, которой ещё ни у кого нет. Я тестировал уже свою модель - она превзошла все ожидания. Сейчас время появится - я займусь конкретно своей идеей

Добавлено через 4 минуты
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
я с нейросетками работаю профессионально - но на CUDA совсем не смотрю
значит вы не достаточно профессионально работаете
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2013, 15:13     Понятие нейронная сеть
Еще ссылки по теме:

Где хранить информацию о работе программы (о том чему научилась нейронная сеть) C++
C++ Нейронная сеть Хопфилда. Количество соединений
C++ Линейная нейронная сеть

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
18.11.2013, 15:13  [ТС]     Понятие нейронная сеть #20
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
персептрон с одним скрытым слоев, например.
Я пытаюсь найти пример на c++, который я пойму. Пока что даже любого примера нету
Yandex
Объявления
18.11.2013, 15:13     Понятие нейронная сеть
Ответ Создать тему
Опции темы

Текущее время: 20:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru