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

Схемы

Чистая схемотехника

21.11.2020 12:09:13 | Автор: admin
1 минута на чтение. На написание: 14 часов.

Программисты постоянно ломают копья об оформлении кода, а мы что, хуже?

Цифровые схемы в большинстве своём скучны и неинтересны, так что оформлять будем аналоговые.
Ламповые приборы всегда гудели сочнее кремниевых, поэтому попробуем придать теплоту и ламповость современным схемам.

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

Кодекс это просто свод указаний, а не жёстких законов


Итак, цели:
Развлечься так с пользой;
Вернуть схемам теплоту старых добрых ламповых времён;
Придать удобочитаемость;
Добавить мемности;

Основное правило здравый смысл.

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

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

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

Если сделать всё ярким и разноцветным, то можно выставить на витрину и наверно продать подороже, но пользоваться будет невозможно. Поэтому будем искать компромисс.

Сейчас в тренде всё плоское, поэтому без объёмных, имитирующих вид реальных компонентов символов.

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

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

Результат


LED Driver


Voltage Regulator


Fully Differential Input Buffer


Differential Input Buffer


Заключение


Наверно, все поняли, что дизайном и лучшими практиками тут и не пахнет, и всё это было сделано лишь ради немного подурачиться?
Но схемы всё же стали теперь как-то теплее, ламповее. И мир стал немного ярче и добрее.
Подробнее..

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

28.06.2020 14:08:19 | Автор: admin
Мы снова недооцениваем сложность задач.

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

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

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

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

Постоянно, а не обучили 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 красиво работает на учебных датасетах реальность ставит всё на место.

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

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

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

Категории

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

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru