Русский
Русский
English
Статистика
Реклама

Схема против нейросети

Мы снова недооцениваем сложность задач.

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

Свёрточная нейронная сеть математическая реализация зрительной подсистемы (палочки под разным углом и их иерархические комбинации в более сложные образы). В первом слое хватит и фильтра Собеля. Без обучения. Процесс упростится.
По мне, так это давно надо вынести на аппаратный уровень камер и систем техзрения.

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

Ключевое здесь постоянно.
Миллиарды десятков нейронов и триллионы синапсов постоянно перестраивают свой потенциал и связи под текущую Задачу. Накапливают опыт. Формируют Личность.
А мы разделили этот процесс минимум на две части: обучение и исполнение, и жалуемся, что как-то много ошибок и в том и другом.

Постоянно, а не обучили CNN и используем ее в статике для классификации.
Еще и соревнования устраиваем на лучшую архитектуру нейросети. Но лучшая она лишь для определенного набора данных и постоянно эволюционирует.
Автопилот Тесла увидел частично заляпанный знак и всё авария. Сразу шумиха в прессе: Не работает DeepLearning!, Роботы зло.
Или вот еще интереснее сюжет про рекламу Burger King и Tesla.

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

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

Мы пытаемся воспроизвести весь процесс на архитектуре (кремниевых полупроводниковых микросхемах), которая отличается от строения биологического мозга радикально. И мы снижаем количество переменных, чтобы уложиться в realtime на слабом процессоре. Подгоняем архитектуру нейросети не под её биологический аналог, а под наши технические средства и сетуем, что только классифицировать и можем. Что нет в машине мышления, моделирования, творчества.

Как бы и не надо.

Мы затачивали наши машины на расчет формул, а если быть точнее на базовые операции: сложение, вычитание, умножение и деление (взять и положить по адресу и другие инструкции пока не будем трогать).
Так пусть они этим и занимаются. И делают это они весьма эффективно.

Если задана формула, машина считает её со скоростью недостижимой человеку. Яркий пример: траектории полетов космических кораблей. А ведь начиналось все с таких приборов, но даже они превосходили в итоге людей в скорости расчетов.
Нет нужды заставлять C/G/TPU имитировать биологические нейроны.

Машина может оперировать более абстрактными ментальными блоками, чем нейрон. У нас есть множество наработок на эту тему. Причем нам не надо 20 лет обучать машину, чтобы она понимала абстракции уровня логистика, кулинария, квантовая механика. Сервер включается в процесс сразу после загрузки данных, которых у нас уже масса.

Когда то, вдохновившись работами Boston Dynamics я экспериментировал с робототехникой.
Жаль, что у меня не было таких мощностей как сейчас, но это привело к очень интересным идеям.
Долго не получалось обучить что-то адекватное на стандарной полносвязной сети и сигмоиде. Решил попробовать функцию, более подходящую механике модели, основываясь на простой идее:
Вращение шарниров конечностей робота это тригонометрия.

Функция cos в качестве активационной и ограничение значений входов и выходов [-1;1] повысила качество управления и скорость обучения в разы, снизила размер сети.

Да cos не самая быстрая функция она вычисляется по таблице или разложением в ряд Тейлора, но она уже есть. Тем более если делать подобные функции как ядро ASIC, то будем иметь примерно 10-тикратный прирост в скорости вычислений.
Её не надо искать, вычислять, тратить время на обучение ИНС уже всё давно сделано с помощью наших нейросеток.
Есть множество функций еще более ресурсоемких, чем тригонометрия. Алгоритм тот же:
Берем функцию из базы соединяем с нужными блоками входы и выходы.

Эти функции могут быть очень высокого порядка. Вроде тех, что используются в программировании. А их параметры ID объектов класса Товар, Марка, Цвет, Адрес и так далее.
Другими словами передаем спайк (код объекта, ID) в нужное место, а не вектор из рациональных чисел, который обозначает непонятно что.

Возвращаясь к нейросети, как классификатору, получаем из потока образов классы объектов. Это, по сути, кодировщик образов к которому можно присоединить подобную систему и получим память и интуицию.

Есть множество схем в электронном виде, уже обученных и отлаженных. Их так же можно использовать как функции. Главное правильно подсоединить. Я говорю о BPMN и им подобных.
BPMN схемы понятнее человеку, чем многослойная нейросеть.

В итоге Data Scientist программируют схемы архитектуры нейросетей. Где-то интуитивно, где-то на основании литературно-технического опыта или после отбора AutoML.
Танцы с бубном по другому не получается. Потому что DeepLearning красиво работает на учебных датасетах реальность ставит всё на место.

Как реализовать процесс мышления схемами на программном уровне описано в этой статье, в которой идет нешуточная полемика.
Там, на простом прикладном примере, описан процесс оптимальных соединений функций по сути обучения, подобному подбору весов в нейросети.
Причем обучение ведется не в области рациональных чисел, а в дискретном пространстве возможных состояний системы.

Область поиска значительно снижается не только этим, но и добавлением списка допустимых классов/значений каждого параметра функций.

Выбор функционального базиса и целевой функции для подобной системы темы для отдельных статей. Надеюсь, у меня хватит вдохновения, чтобы написать их.
Искренне надеюсь на вашу поддержку.
Источник: habr.com
К списку статей
Опубликовано: 28.06.2020 14:08:19
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Анализ и проектирование систем

Искусственный интеллект

Схемы

Семантика

Нейронные сети

Оптимизация

Проектирование систем

Категории

Последние комментарии

© 2006-2020, personeltest.ru