![]() 2 / 2 / 2
Регистрация: 30.01.2013
Сообщений: 150
|
|
НС выполняющая функцию для двух чисел24.03.2017, 17:02. Показов 3438. Ответов 10
Метки нет Все метки)
(
Добрый день.
Собственно меня интересует, как НС способна получать новые данные на основе обобщения предыдущих. Нашёл много статей про сети, которые обрабатывают данные, и сравнивают их с уже выученными. Выбирается наиболее совпавший. Для этого используются разнообразные алгоритмы основанные на перемножении матриц или построении простейшего графа нейронов. Однако я не понимаю, как написать НС, которую можно, например, научить складывать два числа (хотя бы до 0 до 999). Конечно же, мы сначала её обучим: дадим её результата сложения всех однозначных чисел, рандомных двузначных и трёхзначных, а что дальше? Любые мысли по программной реализации приводят меня к построению конкретного алгоритма, похожего на длинную арифметику. Как сделать так, что бы НС догадалась, что от неё хотят. Понимаю, что это уже слишком похоже на ИИ, но возможно есть уже статьи про это. Так же непонятно, можно ли будет научить такую НС вычислять любую другую функцию, зависящую от двух чисел.
0
|
24.03.2017, 17:02 | |
Ответы с готовыми решениями:
10
Внешняя процедура, выполняющая сложение двух чисел (передача параметров через стек)
Написать функцию для сложения двух чисел |
681 / 555 / 74
Регистрация: 20.09.2014
Сообщений: 3,624
|
|
24.03.2017, 20:36 | |
Вы что-то запутались в своих рассуждениях. Нейронная сеть "догадалась", что надо складывать два числа, но Вы утверждаете обратное, что она не "догадалась" и хотите, чтобы она все-таки "догадалась". Вы хоть в курсе, что нейронная сеть способна успешно работать после обучения неполным набором примеров и при наличии погрешностей и ошибочных примеров?
0
|
![]() 2 / 2 / 2
Регистрация: 30.01.2013
Сообщений: 150
|
|
24.03.2017, 20:51 [ТС] | |
Я попросил помочь, а не указывать на мои ошибки (которых нет). Ладно, объясняю.
Я не говорил, что НС не "догадалась". Я просто не понимаю, как реализовать подобное прогнозирование. Я не смог сам найти примеров с реализацией НС, которая бы прогнозировала результат функции на основе обученного. Ещё раз прошу, киньте ссылки, возможно исходники, возможно на C++.
0
|
681 / 555 / 74
Регистрация: 20.09.2014
Сообщений: 3,624
|
|
25.03.2017, 04:29 | |
Хорошо. Я не буду указывать на Ваши ошибки, возможно Вы просто писали пост, не удосужившись позаботиться о логичности предложений, либо не совсем представляя того, чего хотите.
Значит так. Работа с любым обучаемым алгоритмом происходит в два этапа: обучение и эксплуатация. Соответственно, ответ на Ваш вопрос: далее последует эксплуатация, то есть машина будет осуществлять ту функцию, которой она обучилась. Этапы обучения и эксплуатации могут также налагаться друг на друга по времени. Без обучающих примеров не обойтись, то есть надо обеспечить обучение - это вычисление весов и порогов синапсов. Чем больше примеров, тем лучше. Результат не всегда может получиться удовлетворительным, так как нужно уметь выбирать правильно структуру сети, начальные веса и пороги и т.п. и т.д. Можно.
0
|
28 / 28 / 5
Регистрация: 27.10.2015
Сообщений: 89
|
|
25.03.2017, 04:58 | |
Вы забыли указать в чём причина вашего интереса и сколько времени вы готовы потратить, чтобы его удовлетворить. Ответы на ваши вопросы есть, но для их восприятия надо хотя бы знать базу (минимум, что такое НС и как они работают). А чтобы узнать эту базу надо прочитать учебник или пройти онлайн курс. И это уже не меньше недели вдумчивого чтения.
0
|
defun
603 / 617 / 44
Регистрация: 30.04.2011
Сообщений: 702
|
|
25.03.2017, 19:26 | |
0
|
1639 / 1542 / 256
Регистрация: 19.02.2010
Сообщений: 4,120
|
|
26.03.2017, 21:47 | |
А не нужно обучать нейросетки таким задачам, для решения которых они не предназначены или не проектировались.
Обычный линейный сумматор, без всяких рекурсий, и не превращая его в какой-то формальный нейрон (т.е. не добавляя никакой нелинейности на выход сумматора). Ну зачем Вы предлагаете ТСу такой сложный способ? Ведь на вопрос "Как сделать так, что бы НС догадалась, что от неё хотят." есть гораздо более простой ответ - сделать нейросеть-телепата.
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
28.03.2017, 16:44 | |
Как идея представлять весь пример задачи как бинарную матрицу. Например “12+345” все в бинарную форму.
12 в 110 Придумать знаку “+” некий код например 1111 345 в 101 011 001 Тогда заполняем кодом например слева на право. Получим матрицу. Тогда такая задачка превратиться в стандартную “распознать букву”. Только вместо букв будут закодированы примеры. Точно также. Но зачем это нужно? Искать сумму или функцию как обычно намного точней и быстрей Чем учить нейросеть легиону примеров… В моем представлении НС нужны для поиска неявных и нелинейных зависимостей без строгих правил. А у вас все задачи с известными строгими законами. Вам тут НС просто вообще не нужна. Нужно складывать? Так сложите как обычные числа. Тоже самое для функций. А вот если вы дрожащей рукой напишите этот пример и нужно будет узнать в нем что это “12+345” то да…тут и нужна НС + обучение.
0
|
1639 / 1542 / 256
Регистрация: 19.02.2010
Сообщений: 4,120
|
|
29.03.2017, 23:53 | |
Тогда уж в (двоичный) код Грея.
И (в тему ИИшного раздела) можно ещё потребовать от нейросетки, чтобы ответ она выдавала не в виде чисел (пофиг - десятичных, двоичных и иных), а в виде текста. Как в анекдоте: Пятилетняя дочка: 001,010,011,100,101.... Папа, а как дальше? Папа-программист: Вышел зайчик погулять!
0
|
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
|
|
05.05.2017, 07:04 | |
Для того чтобы научить нейронную сеть считать от 0 до 999 можно попробовать такой подход.
Вы можете принимать на вход два значения. Нейронная сеть должна уметь сначала переводить бинарные числа, например, в dec, - это будет её один блок. Если ошибка при выполнении операции преобразования в число (например буква) - то отправить алгоритм на блок распознавания букв и решение уравнений. Если ошибок нет, и имеется знак операции, то нейронная сеть может использовать "ХАК" - вычислить эти числа как простые. Для начала понимания, что Вы хотите следует научиться делать сети, которые умеют складывать числа. Вопрос №2 - как научить сеть складывать числа - не просто делать выборки, а именно использовать модель ИС для создания блоков, которые уже можно использовать для сложения - это очень интересная задача - не аппроксимация, а именно модельное решение. Вы можете посмотреть идею здесь https://habrahabr.ru/post/321642/
0
|
![]() -21 / 30 / 1
Регистрация: 25.04.2017
Сообщений: 356
|
|
05.05.2017, 16:56 | |
До тех пор, пока числа будут идентификаторами, а не метрикой ничего ничему обучить не удастся.
![]()
0
|
05.05.2017, 16:56 | |
Помогаю со студенческими работами здесь
11
Составить функцию, которая для двух натуральных чисел
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations
рестрикции доступа на сервер sshd
статья:
https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
|
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
|
Многопоточное программирование в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
|
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 21.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
|
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|