Нейроная сеть на бумаге?

Здравствуйте
Пытаюсь понять как работает нейронная сеть.
Вернее как она внутренне устроена
Т.е я хочу грубо говоря вручную на листке бумаги написать простейшую нейронную сеть.
Ведь все что делает программа можно написать вручную.
Как это будет выглядеть?
Читал кучу статей но так и не понял как вручную все это проделать?
возьмем псостейшую задачу:
Допустим есть квадрат и круг(разных размеров).
Как на бумаге написать найронную сеть которой на вход даем изображение, а на выходе она
она возращает "это квадрат" или "это круг".
Везде какие то абстрактные примеры одинаковые.
А такого чтобы вручную сделать нигде не написано
Я понимаю что там надо будет множество циклов делать,и вообще что НС вся работает на куче циклов.
Но не понимаю как решить такую задачу на бумаге грубо говоря
  • Вопрос задан
  • 2554 просмотра
Пригласить эксперта
Ответы на вопрос 5
longclaps
@longclaps
Разные уровни абстракции по-разному подходят для описания различных систем, например, термодинамика плохо подходит для описания умственной деятельности человека, хотя человек - термодинамическая система.
Циклы - это неподходящий способ описания.
Если "абстрактные примеры" не дают вам понимания - возможно, дело в вашей недостаточной подготовке, ведь кому-то же дают? Обычно в предисловии к учебнику или вводной лекции курса указывается уровень знаний, необходимый для освоения материала.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
ну вот на пальцах например:
у тебя фотография эта делится например на 9 секторов
в каждом из них есть состояние например 1 или 0 (на состояние секторов ты не влияешь, а только оцениваешь)
допустим данные с этих секторов считывает один нейрон - после того как он считал состояние всех секторов он должен делать вывод - круг это или квадрат
этот вывод он делает на основе так называемой "решающей функции".
допустим решающая функция такая - если сумма всех значений всех секторов больше 5 - значит это квадрат если меньше то это круг (решающие функции могут быть сложнее, но важна сама суть поиска решений)
и суть такая ->
на сами входящие значения ты не можешь влиять, поэтому чтоб влиять на результат, ты можешь перемножать на определенный коэффициент входящие значения, и варьируя коэффициент умножаемый на входящее значение ты подгоняешь результат "решающей функции" под требуемый результат. Подгонка эта происходит через процесс называемый обратное распространение ошибки.
на входе 8 единиц (круг), в начале коэффициенты например равны единицы - сумма всех входящих значений умноженных на коэффициент - равна 8, ты проверяешь, соответствует она твой схеме (при которой круг это значения меньше 5) - нет 8 больше 5, значит ты понижаешь немного значения коэффициентов (обычно изменяют значения не сразу на необходимую величину а на небольшое значение, называемой лернинг рейтом) например на 0.1 (есть много других схем изменения коэффициентов), но вот из-за того что ты показываешь примеры с кругом и квадратом, то повышая на 0.1 значения активировавших нейрон входящих сигналов то понижая, у тебя выходит нужная схема, при которой при входе 8 секторов с единицами, 1 центральный ноль, у тебя сумма с коэффициентами выдает в ответе 4.8 например, что соответствует кругу, а значит коэффициент для всех входящих значений равен 0.6
П. С.
сама смысловая связь между каким-то классом, и значением больше 5 или меньше 5 - делает баесовская функция в нейроне, здесь же мы эти значения задали самостоятельно.
Ответ написан
Комментировать
На бумаге такое будет не просто сделать. Если очень надо - попробуйте что-то попроще. Например, нейронная сеть которая вычисляет сумму двух чисел. Тогда можно будет шаг за шагом несколько тысяч раз просчитать веса и получить рабочую нейросеть на бумаге
Самый простой вид нейросетей - сверточный: ed54276bb247441a8db98a629c2afe61.png
Ответ написан
@TriKrista
вот пример, как сделать на бумаге:

https://habrahabr.ru/post/312450/
https://habrahabr.ru/post/313216/
Ответ написан
@AlexSku
не буду отвечать из-за модератора
Пример из Матлаба.
Сначала двумерный образ сканированием превращаете в массив нулей и единиц (это в сетчатке глаза сработали палочки).
Далее надо придумать тип задачи. Напр., классификация (есть и другие: кластеризация, аппроксимация функции...). Под это дело подбираете архитектуру: число слоёв, количество нейронов, активационые функции.
Потом обучение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы