воскресенье, 8 марта 2026 г.

Немного о нейронных сетях

 Предлагаю немного погрузиться в тему нейронных сетей. т.к. теперь это весьма популярная тема и на то есть причины. Одна из причин, вероятно, заключается в том что они обучаются на подобии того как это происходит с мозгом живых существ а не программируются обычным для электронных устройств способом. Это значительно упрощает процесс создания какого либо полезного цифрового продукта. Ну например, для того чтобы создать программу переводчик обычным способом, придется учитывать все правила языков между которыми происходит перевод и составлять длинные словари всех возможных слов, словосочетаний и всё подобное. Для создания переводчика на основе нейронной сети, понадобятся обучающие выборки и процесс тренировки сети который будет происходить автоматически. Обычно под нейронными сетями понимаются их эмуляторы т.е. такие программы которые используют не нейросетевую архитектуру какого либо устройства для выполнения алгоритмов которые функционируют по принципам нейронных сетей. Например нейросети могут эмулироватся на обычном процессоре. И это не очень эффективно т.к. требует много времени. Также немаловажным является колличество памяти, как постоянной так и оперативной, поскольку работа с нейронными сетями это работа с огромными массивами данных. Долгое время это ограничивало возможности искусственных нейронных сетей. Но когда для их эмуляции стали использовать графические, тензорные или специальные процессоры то это увеличило их возможности.Также сами алгоритмы нейронных улучшались. И теперь они, можно сказать, из разряда игрушек перешли в разряд серьезных вещей которые сильно влияют на всю развитую часть человечества. В частности сильно влияют на рынок труда но вероятно что это далеко не предел. Основой большинства нейронных сетей является многослойный персептрон. Обычный однослойный персептрон изначально был придуман как модель для изучения естественных нейронных сетей из которых состоят мозги живых существ. Один слой состоит из некоторого количества нейронов которые работают параллельно и расположены как бы в одном слое. На вход этого слоя приходят какие то сигналы. Слой их обрабатывает и выдает какие то сигналы на выход. Обычно естественные нейронные сети состоят из более чем одного слоя. Т.е. сначала сигналы со входов обрабатываются одним слоем который выдает какие то сигналы на выход. После, эти выходные сигналы идут на вход следующего слоя который также обрабатывает сигналы  и пойдёт их на выход следующего слоя или просто на выход. Каждый нейрон, если он натуральный, то это живая клетка которая устроена очень сложно но в данном случае это не важно. У нейрона имеются отростки. Отростки бывают двух типов. Это аксоны т.е. выходы. У одного нейрона обычно один аксон. И дендриты т.е. входы. Дендритов у нейрона может быть много.

Место соединения акстона и дендрита или ещё входов с дендритами, называется синапсом или по простому связью.

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

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

Входные и выходные совокупности сигналов для настройки сети называются обучающими выборками. Их чаще всего больше одной. И чем больше обучающих выборок тем точнее можно настроить нейронную сеть для своих задач. Процесс расчета выходных сигналов по входным, называется "прямое распространение" или forward propagation. Этот процесс нужен для использования нейронной сети. И он относительно прост. Задача же обучения нейронной сети гораздо сложнее и не описывается простыми формулами. Существуют разные методы обучения с разными вариациями. Но пока что на них останавливаться не будем. Т.к. это большая отдельная тема. Предположим что у нас имеется двухслойный персептрон с четырьмя нейронами, двумя входами и двумя выходами.

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

Данный код реализует прямое распространение двухслойного персептрона с двумя нейронами в каждом слое и возможностью увеличить это количество, т.е. масштабирования путем изменения соответствующих переменных. Весовые коэффициенты каждого синапса инициализируются случайными значениями в диапазоне от -1 до +1.  На вход сети подается массив входных значений а на выходе получается массив выходных. Для того чтобы запустить программу её нужно сохранить в формате html и открыть каким нибудь браузером, например google chrome. После загрузки произойдет прямой проход и результаты появятся во всплывающем окне а также их можно посмотреть в специальном поле если нажать F12. Есть конечно ограничения. Нельзя сделать слои с разными колличествами нейронов. Т.е. этим ограничена архитектура но зато такая архитектура очень красиво и удобно помещается в трехмерный массив и обрабатывается вложенными циклами что мне очень нравиться 😄

Посмотреть и послушать про нейронные сети также можно на видео:


the_video

Адрес биткоин кошелька для поддержки блога - bc1qlhrmmkh77x2lzhqe4lt9qwkglswj64tsqt2l5g

Также поддержать можно в телеграмм боте https://t.me/electe_bot

суббота, 14 февраля 2026 г.

Фильтр Салена Ки

 LC фильтры могут обладать достаточно неплохой крутизной для применения их во множестве разных случаев. Однако в случае низких частот, катушки могут оказаться не очень удобными из за своих размеров и массы. Пассивные RC фильтры на резисторах и конденсаторах могут быть гораздо компактнее но они не будут обладать такой же крутизной как LC фильтры. Активные RC фильтры могут быть компактными и обладать хорошей крутизной даже на низких частотах. Одной из самых простых и популярных схем активных RC фильтров является схема Салена Ки. Такая схема может быть построена на транзисторе, операционном усилителе или каком либо другом активном элементе способном усиливать ток. В такой схеме, величина обратной связи а следовательно и коэффициент усиления, зависят от частоты сигнала на входе. Бывают такие фильтры для низких частото, для верхних и полосовые. Например схема пропускающая низкие чаcтоты:

Для пропуска верхних частот схема такая:


Крутизну такого фильтра можно увеличить если например соединить два таких фильтра в один. Например можно посмотреть эксперименты с фильтрами на видео:



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

R1=
R2=
C1=
C2=

Частота F=
Период T=
Добротность Q=

Адрес биткоин кошелька для поддержки канала - bc1qlhrmmkh77x2lzhqe4lt9qwkglswj64tsqt2l5g

суббота, 10 января 2026 г.

Электрозажигалка на блокинг генераторе и трансформаторе строчной развертки

 В старых кинескопных телевизорах были специальные высоковольтные трансформаторы которые называются трансформатры строчной развертки. Эти трансформаторы нужны для повышения напряжения т.к. кинескопы могут работать только от высокого напряжения. Оно необходимо для разгона электронов внутри кинескопа. Такая технология создания изображений считается устаревшей и редко применяется т.к. существуют более современные варианты. Например жидкокристаллические, плазменные, светодиодные и возможно ещё какие то телевизоры и мониторы. Но однако же, в свое время, кинескопные телевизоры были очень популярны и производились в больших количествах. В связи с чем теперь огромное количество таких телевизоров оказывается на свалке. Их можно разбирать на запчасти и находить применение большинству деталей но для некоторых специфических деталей это не так просто. Например для высоковольтной части в т.ч. трансформатора строчной развертки. Его например можно применить в схемах повышения напряжения. Например для электрозажигалки. Это конечно не самы лучший вариант из за больших габаритов устройства но тем не менее один из возможных вариантов. Самой простой и эффективной схемой повышения напряжения для электрозажигалки, наверное можно считать блокинг генератор с насыщающимся сердечником. Такой генератор очень прост и может выдавать на выходе достаточную мощность. Собрать зажигалку можно по схеме:



Транзистор подойдет не любой но можно методом проб и ошибок подобрать подходящий. Возможно тот что на схеме это ещё далеко не самый лучший вариант но с ним по крайней мере схема более менее неплохо работает. С некоторыми транзисторами не работает вообще. Сопротивление резистора также важно. Если его сделать большим то схема не будет выдавать на выход достаточную мощность. 10 Ом подходит для таких целей. Витков первичной обмотки можно делать разное колличество. И с этим также можно эксперементиовать. Можно напр сделать 10+10 витков обратной связи и первичной силовой части или 20+20 и в обоих случаях схема будет работать. Важно не делать слишком мало витков. Иначе транзистор просто не сможет успевать реагировать и просто сгорит как если бы эти обмотки были бы перемычками. Они должны иметь некоторую достаточную индуктивность для работоспособности схемы. С тем количеством витков что указано на схеме. С большой вероятностью схема будет работать.


Адрес биткоин кошелька для поддержки канала - bc1qlhrmmkh77x2lzhqe4lt9qwkglswj64tsqt2l5g