Nanostructured materials: Belarus - Russia - Ukraine. Collection of Plenary Reports IV International scientific conference. Minsk. 7-10 October 2014. Pp.68-80.
Plenary Talk
Nanoclusters as superatoms and supermolecules
http://physics.by/e107_files/public/nano2014_sbornik_tesdokladov.pdf
A.M. Ilyanok1, I.A. Timoshchenko2
1 CC “Nanobiology”, Minsk, Belarus
2 Belarusian State University, Minsk, Belarus
For the first time the opportunity of transfer functions of the human cerebral cortex in silicon neurochip of 10 cm^3 with 3D nanojet printer is shows. This is due to the fact that in the last 10 years a new direction in nanotechnology has appeared - the creation of organic and inorganic nanoclusters of certain size, called superatoms, which exhibit the unique properties of elementary atoms and can formally establish a new "periodic table". The development of an entirely new field of science opens the possibility to use cheaper isoelectronic analogues instead of expensive items.
In 1998, we proposed an electronic model of superatoms of helium in orthophaze and paraphase. These superatoms are formed from metal oxides and semiconductors. On this base we developed a new class of single-electron devices with unique physical properties. For example, one can create a computer with 10^16 transactions per second while consuming only a few joules of energy, which is close to the thermodynamic limit 3,4∙10^20 operations/joule. The computer can be grown in a 3D topology by jet nanolithography. Neuroprocessor with performance close to the one of the human cortex takes volume of few cubic centimeters. To demonstrate the formation conditions of superatoms we have developed a new model of an electron with energy of 0.1-0.2 eV, namely «cold» ring electron with radius of 7.25 nm. From the standpoint of superatoms we can consider the physical and chemical properties of proteins like supermolecules formed from superatoms. For example, the protein tubulin which forms nerve fibers and nuclear scaffolds and cells shows unique physical properties. It forms nanotubes with a diameter of 14.5 nm.
The developed technology of jet nanolithography allows us to grow inorganic artificial neurons, while watching their growth using the methods of nanophotonics. Back in 2005, we have patented scanning nanojet microscope, working in real time to monitor the living cell and its dynamics. In 2015 the Nobel Prize has been obtained for similar work on methods of fluorescence microscopy with a priority in 2006. However, the practical importance and potential of our development is much broader than that of the Nobel laureates. We can see at once to build nano-objects, but they only see, and not in real time.
Proposed electronic model of superatoms greatly simplifies the task of atomic-molecular engineering.
#nanoclusters #superatom #supermolecule #nanoelectronics #nanophotonics, #3D nanoprinter #jet nanolithography #neurocomputer #immortality #Nobel Prize
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...ITMO University
Предлагается распараллеливание в технологии программно-аппаратной архитектуры (CUDA) алгоритма обучения радиально-базисной нейронной сети (RBFNN), основанного на идее последовательной настройки центров, ширины и весов сети, а также идее коррекции весов по алгоритму минимизации квадратичного функционала методом сопряженных градиентов. Приводятся результаты сравнения времени обучения RBFNN на различных центральных и графических процессорах, доказывающие эффективность распараллеливания.
Bergsporttraining op de dijk 0.2 v1.07 January 2019Rob Geurtsen
Presentatie voor wekelijkse basis conditietraining voor bergsporters en trailrunners die in de regio 020 Amsterdam werken en/of wonen.
Training since for climbers, hill-walkers and trailrunners who work and live in/or around Amsterdam, the Netherlands.
Nanostructured materials: Belarus - Russia - Ukraine. Collection of Plenary Reports IV International scientific conference. Minsk. 7-10 October 2014. Pp.68-80.
Plenary Talk
Nanoclusters as superatoms and supermolecules
http://physics.by/e107_files/public/nano2014_sbornik_tesdokladov.pdf
A.M. Ilyanok1, I.A. Timoshchenko2
1 CC “Nanobiology”, Minsk, Belarus
2 Belarusian State University, Minsk, Belarus
For the first time the opportunity of transfer functions of the human cerebral cortex in silicon neurochip of 10 cm^3 with 3D nanojet printer is shows. This is due to the fact that in the last 10 years a new direction in nanotechnology has appeared - the creation of organic and inorganic nanoclusters of certain size, called superatoms, which exhibit the unique properties of elementary atoms and can formally establish a new "periodic table". The development of an entirely new field of science opens the possibility to use cheaper isoelectronic analogues instead of expensive items.
In 1998, we proposed an electronic model of superatoms of helium in orthophaze and paraphase. These superatoms are formed from metal oxides and semiconductors. On this base we developed a new class of single-electron devices with unique physical properties. For example, one can create a computer with 10^16 transactions per second while consuming only a few joules of energy, which is close to the thermodynamic limit 3,4∙10^20 operations/joule. The computer can be grown in a 3D topology by jet nanolithography. Neuroprocessor with performance close to the one of the human cortex takes volume of few cubic centimeters. To demonstrate the formation conditions of superatoms we have developed a new model of an electron with energy of 0.1-0.2 eV, namely «cold» ring electron with radius of 7.25 nm. From the standpoint of superatoms we can consider the physical and chemical properties of proteins like supermolecules formed from superatoms. For example, the protein tubulin which forms nerve fibers and nuclear scaffolds and cells shows unique physical properties. It forms nanotubes with a diameter of 14.5 nm.
The developed technology of jet nanolithography allows us to grow inorganic artificial neurons, while watching their growth using the methods of nanophotonics. Back in 2005, we have patented scanning nanojet microscope, working in real time to monitor the living cell and its dynamics. In 2015 the Nobel Prize has been obtained for similar work on methods of fluorescence microscopy with a priority in 2006. However, the practical importance and potential of our development is much broader than that of the Nobel laureates. We can see at once to build nano-objects, but they only see, and not in real time.
Proposed electronic model of superatoms greatly simplifies the task of atomic-molecular engineering.
#nanoclusters #superatom #supermolecule #nanoelectronics #nanophotonics, #3D nanoprinter #jet nanolithography #neurocomputer #immortality #Nobel Prize
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...ITMO University
Предлагается распараллеливание в технологии программно-аппаратной архитектуры (CUDA) алгоритма обучения радиально-базисной нейронной сети (RBFNN), основанного на идее последовательной настройки центров, ширины и весов сети, а также идее коррекции весов по алгоритму минимизации квадратичного функционала методом сопряженных градиентов. Приводятся результаты сравнения времени обучения RBFNN на различных центральных и графических процессорах, доказывающие эффективность распараллеливания.
Bergsporttraining op de dijk 0.2 v1.07 January 2019Rob Geurtsen
Presentatie voor wekelijkse basis conditietraining voor bergsporters en trailrunners die in de regio 020 Amsterdam werken en/of wonen.
Training since for climbers, hill-walkers and trailrunners who work and live in/or around Amsterdam, the Netherlands.
Slides from the Interface Design workshop, held in Rotterdam, February 2013.
The participants were senior and junior IT developers and designers from BEST (Board of European Students of Technology - http://www.best.eu.org), hence the secret language and the very specific examples used (i.e. BEST's intranet - Private Area).
La multiplication des outils de mobilité et des canaux digitaux a fortement accéléré l'évolution du tout off line vers un mixte on/off, voir vers du pur on line. Ces changements ont naturellement impacté le Service Client, transformant progressivement le traditionnel Call center en Web center.
Dans cette nouvelle ère, le Service Client doit s'adapter et (re)prendre toute sa dimension au cœur de la relation entre la marque et ses clients. Son positionnement multicanal en fait une véritable force de frappe au service de la satisfaction client et des ambitions commerciales de la marque.
La transformation du Service Client implique de répondre à plusieurs questions : Quelle vision cible ? Quel périmètre ? Quels rôles entre le on et le off line ? Quelles conséquences sur les compétences, les outils, le pilotage,… ?
Pour faire face à la démultiplication de vos campagnes marketing, découvrez comment optimiser vos cycles de vie sur différents média : e-mail, social, mobile,...
La relation client est depuis longtemps en pleine mutation, il faut pour certains offrir de la réduction à l'ensemble de ses contacts, pour d’autres l’accent est à mettre sur l'affinité avec la marque, pour d’autres enfin il convient plutôt d’adapter la communication aux canaux émergeants tout en respectant les bonnes pratiques.
Deux tendances semblent toutefois animer l'approche relationnelle :
La communication One-to-One avec la recherche de la meilleure offre pour le contact à un moment précis.
La volonté de communiquer sur l'ensemble des canaux qu'ils soient classiques (Email, Mailing, SMS) ou nouveaux (Facebook, Twitter, Push Notification...).
La nouvelle plateforme Adobe Campaign V6.11 permet de coupler l'ensemble des besoins métiers tout en simplifiant la création de campagnes et leur automatisation.
Pour cette nouvelle Matinale Technologique Soft Computing, nous vous proposons deux ateliers autour de la thématique des usages standards d'Adobe Campaign :
Atelier 1 :
Présentation d'un programme de bienvenue automatisé / Personnalisation des communications en fonction du comportement et des canaux de contact.
Atelier 2 :
Le social, une opportunité simple pour développer votre visibilité auprès de vos contacts.
L’Expérience client : quels dispositifs de mesure et quels plans d'action dans l'éco-système complexe des parcours omni-canaux ?
L’Expérience client est devenue un levier de performance et d’innovation incontournable pour fidéliser les clients. Comment un indicateur comme le Net Promoter Score peut-il vous aider sur le plan stratégique et opérationnel à suivre le ressenti de vos clients sur la diversité de leurs parcours, à corriger vos points faibles en temps réel et dans la durée, à prioriser vos actions et à créer une valeur tangible ?
Les dispositifs de mesure de la Satisfaction et de l’Expérience client participent pleinement au pilotage stratégique et opérationnel des entreprises. Le NPS, indicateur reconnu et universel de l’expérience client, peut vous aider à aller beaucoup plus loin s’il est utilisé et interprété à bon escient.
• Comment construire des dispositifs de mesure de l’Expérience client cohérents par rapport aux points de contacts et parcours proposés ?
• Quels enseignements tirer des résultats différents observés entre mesures à chaud et à froid, expérience par canal et expérience globale ?
• Quelles actions prioriser grâce au NPS et comment modéliser le ROI des actions en gains sur le NPS ?
• Quel niveau d’implication et quels leviers pour les équipes opérationnelles ?
Pour répondre à ces interrogations, nous vous invitons à un séminaire gratuit, au cours duquel nous partagerons nos meilleures pratiques au travers de cas concrets ?
Machine Learning et Intelligence ArtificielleSoft Computing
Machine Learning (ML) et Intelligence Artificielle (AI) sont au cœur des stratégies des géants du net : reconnaissance de textes, de visages, de sentiments, analyse de signaux issus notamment d’objets connectés. Comment capitaliser sur ces méthodologies pour des applications Marketing ? Avec quels outils, méthodes et compétences ?
Google, Facebook, Apple et autres Microsoft se livrent une bataille de Titan sur le terrain de l’Intelligence Artificielle. Cette débauche de moyens en recherche et développement génère la diffusion en Open Source de nombreux algorithmes ou le foisonnement de fonctions et d’API de Machine Learning et Deep Learning et d’AI « as a service ». Avec des efforts minimes, tout-un-chacun peut aujourd’hui accéder simplement et pour un coût modique à des fonctionnalités puissantes pour reconnaître un visage, une voix, des sentiments …
En outre, la démocratisation des technologies Big Data donne accès à des puissances de traitement considérables qui permettent d’appliquer ces algorithmes de Machine Learning sur des centaines de milliers de points, des milliards d’enregistrements et des volumes de plusieurs péta-octets.
Le Marketing et la connaissance client capitalisent sur toutes ces nouvelles possibilités : conseiller le bon produit – en mode recommandation ou substitution, anticiper des changements dans les comportements, s’adresser au client de façon complètement personnalisée, surveiller en temps réel des indicateurs de bon ou mauvais fonctionnement – objets connectés, fluidifier et optimiser l’expérience client en identifiant des axes d’amélioration des parcours ou process.
Ce séminaire vise à démystifier le Machine Learning, à en dessiner des applications potentielles pour le Marketing. Les modalités de mise en œuvre – outils, procédures et techniques, forces et faiblesses – seront détaillées à travers la présentation de cas d’usage.
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №11 "Основы нейронных сетей"
Лектор - Павел Нестеров
Биологический нейрон и нейронные сети. Искусственный нейрон Маккалока-Питтса и искусственная нейронная сеть. Персептрон Розенблатта и Румельхарта. Алгоритм обратного распространения ошибки. Момент обучения, регуляризация в нейросети, локальная скорость обучения, softmax слой. Различные режимы обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Slides from the Interface Design workshop, held in Rotterdam, February 2013.
The participants were senior and junior IT developers and designers from BEST (Board of European Students of Technology - http://www.best.eu.org), hence the secret language and the very specific examples used (i.e. BEST's intranet - Private Area).
La multiplication des outils de mobilité et des canaux digitaux a fortement accéléré l'évolution du tout off line vers un mixte on/off, voir vers du pur on line. Ces changements ont naturellement impacté le Service Client, transformant progressivement le traditionnel Call center en Web center.
Dans cette nouvelle ère, le Service Client doit s'adapter et (re)prendre toute sa dimension au cœur de la relation entre la marque et ses clients. Son positionnement multicanal en fait une véritable force de frappe au service de la satisfaction client et des ambitions commerciales de la marque.
La transformation du Service Client implique de répondre à plusieurs questions : Quelle vision cible ? Quel périmètre ? Quels rôles entre le on et le off line ? Quelles conséquences sur les compétences, les outils, le pilotage,… ?
Pour faire face à la démultiplication de vos campagnes marketing, découvrez comment optimiser vos cycles de vie sur différents média : e-mail, social, mobile,...
La relation client est depuis longtemps en pleine mutation, il faut pour certains offrir de la réduction à l'ensemble de ses contacts, pour d’autres l’accent est à mettre sur l'affinité avec la marque, pour d’autres enfin il convient plutôt d’adapter la communication aux canaux émergeants tout en respectant les bonnes pratiques.
Deux tendances semblent toutefois animer l'approche relationnelle :
La communication One-to-One avec la recherche de la meilleure offre pour le contact à un moment précis.
La volonté de communiquer sur l'ensemble des canaux qu'ils soient classiques (Email, Mailing, SMS) ou nouveaux (Facebook, Twitter, Push Notification...).
La nouvelle plateforme Adobe Campaign V6.11 permet de coupler l'ensemble des besoins métiers tout en simplifiant la création de campagnes et leur automatisation.
Pour cette nouvelle Matinale Technologique Soft Computing, nous vous proposons deux ateliers autour de la thématique des usages standards d'Adobe Campaign :
Atelier 1 :
Présentation d'un programme de bienvenue automatisé / Personnalisation des communications en fonction du comportement et des canaux de contact.
Atelier 2 :
Le social, une opportunité simple pour développer votre visibilité auprès de vos contacts.
L’Expérience client : quels dispositifs de mesure et quels plans d'action dans l'éco-système complexe des parcours omni-canaux ?
L’Expérience client est devenue un levier de performance et d’innovation incontournable pour fidéliser les clients. Comment un indicateur comme le Net Promoter Score peut-il vous aider sur le plan stratégique et opérationnel à suivre le ressenti de vos clients sur la diversité de leurs parcours, à corriger vos points faibles en temps réel et dans la durée, à prioriser vos actions et à créer une valeur tangible ?
Les dispositifs de mesure de la Satisfaction et de l’Expérience client participent pleinement au pilotage stratégique et opérationnel des entreprises. Le NPS, indicateur reconnu et universel de l’expérience client, peut vous aider à aller beaucoup plus loin s’il est utilisé et interprété à bon escient.
• Comment construire des dispositifs de mesure de l’Expérience client cohérents par rapport aux points de contacts et parcours proposés ?
• Quels enseignements tirer des résultats différents observés entre mesures à chaud et à froid, expérience par canal et expérience globale ?
• Quelles actions prioriser grâce au NPS et comment modéliser le ROI des actions en gains sur le NPS ?
• Quel niveau d’implication et quels leviers pour les équipes opérationnelles ?
Pour répondre à ces interrogations, nous vous invitons à un séminaire gratuit, au cours duquel nous partagerons nos meilleures pratiques au travers de cas concrets ?
Machine Learning et Intelligence ArtificielleSoft Computing
Machine Learning (ML) et Intelligence Artificielle (AI) sont au cœur des stratégies des géants du net : reconnaissance de textes, de visages, de sentiments, analyse de signaux issus notamment d’objets connectés. Comment capitaliser sur ces méthodologies pour des applications Marketing ? Avec quels outils, méthodes et compétences ?
Google, Facebook, Apple et autres Microsoft se livrent une bataille de Titan sur le terrain de l’Intelligence Artificielle. Cette débauche de moyens en recherche et développement génère la diffusion en Open Source de nombreux algorithmes ou le foisonnement de fonctions et d’API de Machine Learning et Deep Learning et d’AI « as a service ». Avec des efforts minimes, tout-un-chacun peut aujourd’hui accéder simplement et pour un coût modique à des fonctionnalités puissantes pour reconnaître un visage, une voix, des sentiments …
En outre, la démocratisation des technologies Big Data donne accès à des puissances de traitement considérables qui permettent d’appliquer ces algorithmes de Machine Learning sur des centaines de milliers de points, des milliards d’enregistrements et des volumes de plusieurs péta-octets.
Le Marketing et la connaissance client capitalisent sur toutes ces nouvelles possibilités : conseiller le bon produit – en mode recommandation ou substitution, anticiper des changements dans les comportements, s’adresser au client de façon complètement personnalisée, surveiller en temps réel des indicateurs de bon ou mauvais fonctionnement – objets connectés, fluidifier et optimiser l’expérience client en identifiant des axes d’amélioration des parcours ou process.
Ce séminaire vise à démystifier le Machine Learning, à en dessiner des applications potentielles pour le Marketing. Les modalités de mise en œuvre – outils, procédures et techniques, forces et faiblesses – seront détaillées à travers la présentation de cas d’usage.
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №11 "Основы нейронных сетей"
Лектор - Павел Нестеров
Биологический нейрон и нейронные сети. Искусственный нейрон Маккалока-Питтса и искусственная нейронная сеть. Персептрон Розенблатта и Румельхарта. Алгоритм обратного распространения ошибки. Момент обучения, регуляризация в нейросети, локальная скорость обучения, softmax слой. Различные режимы обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Введение в архитектуры нейронных сетей / HighLoad++ 2016Grigory Sapunov
Slides from HighLoad++ 2016 conference.
Introduction into neural network architectures (Rus)
Презентация для конференции HighLoad++ 2016.
http://www.highload.ru/2016/abstracts/2454.html
Видеозапись доклада:
https://www.youtube.com/watch?v=XY5AczPW7V4
Введение в архитектуры нейронных сетей / Григорий Сапунов (Intento)Ontico
Цель доклада — помочь слушателям построить актуальную карту происходящего в области искусственных нейронных сетей. В рассказ войдёт разбор основных архитектур промышленных нейросетей сегодняшнего дня, их особенности и отличия друг от друга, границы применения и типовые решаемые задачи, а также актуальные направления развития области, в настоящий момент выходящие из лабораторий в промышленное использование. Также коснёмся темы используемых в индустрии фреймворков для работы с нейросетями.
Основы машинного обучения, базовые понятия (например переобучение и способы его предотвращения), различные архитектуры сетей, и, в частности, сверточные сети. Так же рассмотрены методы оптимизации вычислений в подобных архитектурах: quantization, binary-net и другие.
Классификация сигналов головного мозга для нейрокомпьютерного интерфейсаAzoft
Ученые всего мира работают над созданием нейрокомпьютерного интерфейса, чтобы улучшить качество жизни людей с ограниченными возможностями. R&D отдел компании Azoft не остался в стороне от этой острой темы и принял участие в международном конкурсе "Grasp-and-Lift EEG Detection". Конкурс был посвящен классификации ЭЭГ сигналов для последующей разработки нейрокомпьютерного интерфейса. В этой публикации вы найдете описание экспериментов, предпринятых нашей командой с целью систематизации движений правой руки с использованием записей ЭЭГ. Более того, вы сможете ознакомиться с одним из ярких примеров прикладного использования свёрточных нейронных сетей. Материалы о проекте вы можете найти на нашем сайте: http://www.azoft.ru/blog/klassifikaciya-signalov-golovnogo-mozga-dlya-nejrokompyuternogo-interfejsa/
Классификация сигналов головного мозга для нейрокомпьютерного интерфейса
0907.0229
1. С.В. Поликарпов, В.С. Дергачёв, К.Е. Румянцев, Д.М. Голубчиков
Новая модель искусственного нейрона: кибернейрон и области его
применения
Аннотация. В данной статье рассматривается новый тип искусственного нейрона, назван-
ный авторами «кибернейроном». В отличие от классических моделей искусственных ней-
ронов данный тип нейрона использует табличные подстановки вместо операции умноже-
ния входных значений на весовые коэффициенты. Это позволило значительно увеличить
информационную ёмкость отдельного нейрона, а также значительно упростить процедуру
обучения. Приводится пример использования кибернейрона при решении задачи обнару-
жения компьютерных вирусов.
Ключевые слова: кибернейрон, нейросеть, обнаружение компьютерных вирусов.
Спектр задач, решаемых искусственными нейронными сетями (нейро-
сетями) достаточно широк. Это объясняется основными свойствами, прису-
щих нейросетям: возможность обучения нейросети в процессе её работы;
способность обобщать получаемую информацию; высокая отказоустойчи-
вость; параллельность вычислений и т.д.
Необходимо отметить, что искусственные нейросети являются очень
грубой математической моделью природных нейросетей. При этом существу-
ет два подхода к построению искусственных нейросетей:
1. Первый подход [1-3] предполагает, что сам нейрон является про-
стейшим вычислительным элементом, а решение сложных задач достигается
использованием сложной конфигурации нейросети. Это позволило создать
достаточно простую модель искусственного нейрона (формальный нейрон).
Что в своё время дало сильный толчок в создании различных моделей искус-
ственных нейронных сетей (персептрон Розенблатта, сети Хопфилда, самоор-
ганизующиеся карты Кохонена и т.д.). Именно модель формального нейрона
используется в настоящее время при решении практических задач распозна-
вания образов, классификации, прогнозирования и т.д.
Недостатки:
– нет чётких критериев (правил) выбора количества нейронов и связей
между ними. Составление искусственной нейронной сети, способной решать
конкретную поставленную задачу, является достаточно трудоёмким процес-
сом и является своеобразным искусством;
– относительно небольшая информационная ёмкость отдельного искус-
ственного нейрона (т.е. количество запоминаемых нейроном образов). Чем
больше нейросеть должна «помнить» образов, тем более сложной должна
быть нейросеть (и количество входящих в неё нейронов). В купе с предыду-
щим недостатком это значительно затрудняет составления искусственной
нейросети, предназначенной для решения сложных задач;
1
2. – сложность (ресурсоёмкость) реализации искусственного нейрона в
аппаратном виде. Объясняется наличием операций умножения на каждом из
входов нейрона.
Отличие от реальных нейронов:
– не учитывается пластичность весов во времени;
– алгоритм обучения на основе обратного распространения ошибки не
имеет аналога в природных нейросетях;
– остальные методы обучения искусственных нейросетей являются вы-
числительно неэффективными;
2. Второй подход предполагает, что отдельный нейрон является крайне
сложным вычислительным элементом [3, 4]. В отличие от первого подхода, в
котором предполагается, что нейрон является простейшим вычислительным
элементом, в данном подходе предполагается, что нейрон сам по себе яв-
ляется сложным вычислительным элементом. Например, в [3] обосновывает-
ся, что только количество информации в одном нейроне может достигать 1014
бит. Последователи этого подхода пытаются создать точную математиче-
скую модель отдельного нейрона и всей нейросети в целом. Существуют до-
статочно сложные математические модели природных нейронов, однако до-
стоверно неизвестно, насколько эти модели соответствуют реальности. Так-
же нет свидетельств использования этих моделей при решении какой-либо
практической задачи.
Рассмотрим биологический нейрон [5,6]. Нейрон (нервная клетка) яв-
ляется особой биологической клеткой, которая обрабатывает информацию
(рисунок 1). Она состоит из тела клетки (cell body), или сомы (soma), и двух
типов внешних древоподобных ветвей: аксона (axon) и дендритов (dendrites).
Нейрон получает сигналы (импульсы) от других нейронов через дендриты
(приемники) и передает сигналы, сгенерированные телом клетки, вдоль аксо-
на (передатчик), который в конце разветвляется на волокна (strands). На
окончаниях этих волокон находятся синапсы (synapses).
Рисунок 1. Схема биологического нейрона
Синапс (рисунок 2) является элементарной структурой и функциональ-
ным узлом между двумя нейронами (волокно аксона одного нейрона и ден-
2
3. дрит другого). Когда импульс достигает синаптического окончания, высвобо-
ждаются определенные химические вещества, называемые нейротрансмит-
терами (медиаторами). Медиаторы диффундируют через синаптическую
щель и попадают на рецепторы нейрона-приёмника, возбуждая или заторма-
живая способность нейрона-приемника генерировать электрические импуль-
сы. Результативность синапса может настраиваться проходящими через него
сигналами, так что синапсы могут обучаться в зависимости от активности
процессов, в которых они участвуют. Эта зависимость от предыстории дей-
ствует как память.
Нейроны взаимодействуют посредством короткой серии импульсов,
как правило, продолжительностью несколько мсек. Сообщение передается
посредством частотно-импульсной модуляции. Частота может изменяться от
нескольких единиц до сотен герц. Сложные решения по восприятию инфор-
мации, как, например, распознавание лица, человек принимает за несколько
сотен мс. Эти решения контролируются сетью нейронов, которые имеют ско-
рость выполнения операций всего несколько мс. Это означает, что вычисле-
ния требуют не более 100 последовательных стадий. Другими словами, для
таких сложных задач мозг "запускает" параллельные программы, содержа-
щие около 100 шагов. Это известно как правило ста шагов [5,6].
А Б
Рисунок 2. Пример синапсов нейронов головного мозга собаки [12]: а – животное,
выращенное в темноте; б – нормальное животное
Предлагаемый подход:
Если проанализировать известные данные, то можно выделить следую-
щие противоречащие факты:
1. Синапсы природных нейронов, которые чаще активируются, имеют
больший размер (более развитую структуру). Считается, что каждый синапс
нейрона работает как возбуждающий или подавляющий элемент, и что уве-
личение размеров синапса приводит к увеличению его весового коэффициен-
та.
2. Синапс состоит из большого количества рецепторов различного
типа, которые по-разному реагируют на различные типы медиатора. В [4] об-
основывается, что синапс может выступать как сложная вычислительная си-
стема, состоящая из множества логических элементов.
3
4. Противоречие заключается в следующем:
– с точки зрения физики, весовой коэффициент синапса определяется
не столько его размером, а сколько близостью его расположения к основному
телу (соме) нейрона. То есть, чем ближе синапс находиться к центру нейрона,
тем он сильнее воздействует на возбуждение нейрона и наоборот;
– чем больше размер синапса, тем больше рецепторов он имеет и тем
более сложной вычислительной системой он является. Какую логическую
функцию может реализовывать синапс, если с точки зрения нейросети он
имеет фактически один вход и один выход?
Авторы статьи предлагают следующую интерпретацию приведённых
фактов – каждый синапс запоминает, как необходимо реагировать на различ-
ные интенсивности входных воздействий. То есть, по мере обучения нейро-
на, каждый его синапс запоминает, насколько сильно он должен стимулиро-
вать или подавлять возбуждение нейрона для каждой конкретной интенсив-
ности входного воздействия. Соответственно, чем больше опыта получает
нейрон, тем более развитым должен быть синапс, чтобы помнить пары «ин-
тенсивность входного воздействия на синапс – интенсивность воздействия
синапса на нейрон»
Эта интерпретация значительно отличается от общепринятой, в кото-
рой считается, что чем сильнее интенсивность входного воздействия на си-
напс, тем сильнее синапс стимулирует или подавляет возбуждение нейрона.
С точки зрения математической модели искусственного нейрона
предлагается заменить операцию умножения входного значения и весового
коэффициента на операцию табличной подстановки.
Общеизвестная модель искусственного нейрона:
Для лучшего понимания предлагаемого подхода рассмотрим модель
формального нейрона [2]
input 1 X
X
weight 1
input 2 X output
X ++ Activation
function
weight 2
input 3 X
X
weight 3
Рисунок 3. Функциональная схема формального нейрона (случай с тремя входами)
4
5. Формальный нейрон представляет собой математическую модель про-
стого процессора, имеющего несколько входов и один выход. Вектор вход-
ных сигналов (поступающих через "дендриды") преобразуется нейроном в
выходной сигнал (распространяющийся по "аксону") с использованием трех
функциональных блоков: блока перемножения входов с весовыми коэффици-
ентами, блока суммирования и блока нелинейного преобразования (функция
активации). Выбором весов достигается та или иная интегральная функция
нейрона.
В блоке суммирования происходит накопление общего входного сигна-
ла (обычно обозначаемого символом net), равного взвешенной сумме входов:
N
net =∑ weight i⋅input i
i =1
В модели отсутствуют временные задержки входных сигналов, поэто-
му значение net определяет полное внешнее возбуждение, воспринятое ней-
роном. Отклик нейрона далее описывается следующим образом:
output= f net .
где f – функция активации. В простейшем случае представляет из себя
пороговую функцию, при этом output=0 , если net Θ , и output=1 , если
net ≥Θ ( Θ – значение порога). Может также использоваться линейная функ-
ция, сигмоидальная функция и т.д.
Следует отметить, что и в других известных моделях искусственного
нейрона (модель Паде, квадратичный нейрон и т.д.) синаптическая связь так-
же представляется как умножение входа на весовой коэффициент.
Модель кибернейрона, предлагаемая авторами, приведена на рисун-
ке 4. Данная модель состоит из двух блоков: блока табличной подстановки и
блока суммирования.
Каждое входное значение подаётся на соответствующую таблицу
подстановки (sbox). Дискретное значение входа интерпретируется как индекс
ячейки таблицы, а выходом является значение, хранящееся в ячейке. Выходы
со всех таблиц подстановок суммируются, в результате формируется выход
нейрона.
N
output=∑ sbox i [ input i ]
i=1
Модель имеет следующие особенности:
– Таблица подстановки соответствует синапсу биологического нейро-
на, а операция суммирования – суммарному воздействию синапсов на возбу-
ждение нейрона. В соответствии с данной моделью каждый синапс, в зависи-
мости от входного воздействия, может быть как тормозящим, так и возбу-
ждающим (каждая ячейка таблицы может хранить как отрицательные, так и
положительные числа).
– Размерность таблицы подстановки (количество ячеек таблицы) соот-
ветствует диапазону входных значений.
5
6. – Размерность хранящихся в ячейках таблицы чисел может быть произ-
вольной и зависит от решаемой задачи.
– В данной модели отсутствует выходная нелинейная функция (функ-
ция активации). Это объясняется следующим: таблицей подстановки можно
описать любую дискретную функцию, в том числе и функцию умножения
дискретных чисел, и дискретные функции активации. Поэтому при помощи
данной модели можно также реализовать формальный нейрон, использую-
щий дискретные вычисления.
index
0 1 2 3
input 1 v00 v01 v02 v03
input 2 v10 v11 v12 v13
input 3 v20 v21 v22 v23
output
++
input 4 v30 v31 v32 v33
input 5 v40 v41 v42 v43
input 6 v50 v51 v52 v53
Рисунок 4. Функциональная схема кибернейрона (случай с шестью входами, размерность
таблицы подстановки – 4)
Пример кибернейрона, обученного распознаванию образа (1,3,0,1,2,1)
приведён на рисунке 6.
Обучение кибернейрона.
Введём следующие обозначения:
• input – вход кибернейрона;
• sbox – таблица подстановки, ассоциируемая с входом нейрона;
• output – выход кибернейрона;
• threshold – порог для выхода, при котором считается, что киберней-
рон обучен образу (например, threshold = 100);
• threshold2 – порог для выхода, при котором считается, что киберней-
рон не обучен образу (например, threshold2 = 20);
• N – количество входов кибернейрона;
• m – размерность таблицы подстановки (например, для 8-и битовых
входов m = 256 и т.д.);
• k – коэффициент, отвечающий за скорость обучения;
• -- – операция декремента (вычитание единицы из значения);
• ++ – операция инкремента (добавление единицы к значению);
6
7. Целью обучения кибернейрона является такая модификация значений
ячеек таблиц подстановок, при которых:
1. На выходе формируется значение output > threshold, если на вход по-
даётся ранее запомненный образ.
2. На выходе формируется значение output > threshold2 и output <
threshold, если на вход подаётся новый образ, частично совпадаю-
щий с ранее запомненным образом.
3. На выходе формируется значение output < threshold2, если на вход
подаётся новый образ, который не совпадает с ранее запомненными
образами.
Таким образом, получается шкала, показывающая, насколько поданный
на вход образ похож с ранее запомненными нейроном образами (рисунок 5).
Указанные значения порогов приведены для примера, точные значения поро-
гов в общем случае зависят от решаемой задачи.
0 20 100 128
threshold2
область область
threshold
неопоз- областьнеточного точного
min
нанных распознаванияобраза распоз- max
образов навания
образа
Рисунок 5. Пример шкалы соответствия
В общем случае возникает две задачи обучения кибернейрона – задача
добавления (запоминания) нового образа и задача удаления образа из памяти.
Вторая задача особенно важна при распределении большого количества об-
разов между множеством параллельно включенных нейронов. На основании
всего вышесказанного, авторами было разработано несколько алгоритмов
обучения кибернейрона.
1. Алгоритм простого обучения, использующий последовательную
модификацию отдельных ячеек таблиц подстановок. Для обучения кибер-
нейрона новому образу необходимо выполнить следующие шаги:
1) для подаваемого на вход образа вычисляется выходное значение ки-
бернейрона;
2) если выход больше верхнего порога, то завершаем процедуру буче-
ния;
3) иначе, вычисляем разницу между выходом и порогом; полученное
значение показывает, сколько раз требуется инкрементировать зна-
чения активных ячеек;
4) последовательно перебираем таблицы подстановок (от 0 до N-1) и
увеличиваем на «1» значения ячеек, участвовавших в формировании
7
8. выхода (до полной компенсации разницы между выходом и поро-
гом);
При необходимости добавления других образов, для них также осуще-
ствляются шаги 1–4, после чего производится проверка правильности распо-
знавания образов. Если возникают несоответствия, то процедура обучения
повторяется.
Удаление образа производиться аналогично процедуре добавления об-
раза, только вычисляется разница между нижним порогом и выходом кибер-
нейрона и путём уменьшения значений активных ячеек осуществляется
компенсация разницы.
2. Алгоритм простого обучения, использующий псевдослучайную
модификацию отдельных ячеек таблиц подстановок. Данный алгоритм
отличается от предыдущего тем, что вместо последовательного перебора мо-
дифицируемых ячеек используется случайный перебор ячеек таблиц подста-
новок. Это позволяет внести элемент случайности в процесс обучения кибер-
нейрона – при одинаковых обучающих выборках нейроны будут обучаться
по-разному, т.е. по-разному фиксировать характерные черты образов. В ряде
практических задач данная особенность может быть очень востребована
(например, при распознавании модификаций компьютерных вирусов).
В соответствии с приведённым алгоритмом была разработана про-
граммная реализация процесса обучения кибернейрона. Входными данными
являются: teaching_data – флаг обучения, если равен 1, то требуется добавить
образ, если равен 0 – удалить образ; sbox – набор таблиц подстановок, со-
ставляющих кибернейрон. Перед процессом обучения должен быть запущен
процесс определения выхода кибернейрона, в результате чего нам будут из-
вестны выход нейрона и ячейки таблиц, участвующих в формировании выхо-
да.
Пример функции обучения кибернейрона на языке C++:
void Educate_neuron(int teaching_data, BYTE **sbox)
{
int threshold = 100; // верхний порог;
int threshold2 = 20; // нижний порог;
int divider = 4; // divider = 1/(коэфф. обучения)
int modifier; // разница между порогом и вы-
ходным значением нейрона
if(teaching_data == 1) // если требуется обучить ней-
{ рон образу,
modifier = threshold - output; // то вычисляем разницу между
modifier = modifier/divider; верхним порогом и выходом
if(modifier == 0) {modifier = 1;} нейрона
ChangeNeuronStats(modifier, sbox); // и модифицируем параметры
} нейрона;
else // если требуется, чтобы нейрон
8
9. { не распознавал образ,
modifier = threshold2 - output; // то вычисляем разницу между
modifier = modifier/divider; нижним порогом и выходом
if(modifier == 0) {modifier = -1;} нейрона
ChangeNeuronStats(modifier, sbox); // и модифицируем параметры
} нейрона;
}
Пример функция изменения параметров кибернейрона на языке C++:
void ChangeNeuronStats(int modifier, BYTE **sbox)
{
int row_number; //номер таблицы подстановки;
int cell_number; //номер ячейки в таблице;
if(modifier >=0 ) //если разница больше 0,
for (int m = 0; m < modifier; m++) //то выполняем цикл, пока раз-
{ ница не будет компенсирована
row_number = random(N); //выбираем таблицу;
cell_number = activating_cells_in_sbox[row_number]; //определяем для неё активную
ячейку;
if(sbox[row_number][cell_number] < 127)
{ sbox[row_number][cell_number]++;} //увеличиваем значение ячейки
} на 1;
else //если разница меньше 0,
for (int m = 0; m < abs(modifier); m++) //то выполняем цикл, пока раз-
{ ница не будет компенсирована
row_number = random(N); //выбираем таблицу;
cell_number = activating_cells_in_sbox[row_number]; //определяем для неё активную
ячейку;
if(sbox[row_number][cell_number] > -126)
{sbox[row_number][cell_number]--; } //уменьшаем значение ячейки
} на 1;
}
Следует отметить, что приведённые алгоритмы обучения не являются
единственными и наиболее оптимальными. Они приведены для того, чтобы
показать принципиальное отличие процесса обучения кибернейрона от про-
цесса обучения формального нейрона. Данное отличие в процессах обучения
объясняет преимущества кибернейрона.
В случае обучении нейрона новому образу, вероятность искажения
предыдущих запомненных образов снижается пропорционально размерности
таблиц подстановок. Эта вероятность значительно ниже, по сравнению с
формальным нейроном. Объясняется тем, что при обучении модифицируется
только одна ячейка из каждой таблиц подстановок. В формальном нейроне
при обучении меняются весовые коэффициенты входов, что сразу влияет на
все запомненные образы.
9
10. Количество запоминаемых образов кибернейрона зависит от размерно-
сти таблиц подстановок, а также от количества входов. С увеличением этих
параметров растёт информационная ёмкость кибернейрона (рисунки 10,11).
Сам процесс распознавания образов при этом напоминает кодовое разделе-
ние сигналов (CDMA).
Для более простого понимания предлагаемых идей приведём ряд при-
меров. На рисунке 6 изображён кибернейрон, имеющий шесть входов. Каж-
дому входу соответствует таблица подстановки размерностью 4 ячеек. Ки-
бернейрон обучен распознаванию одного образа – (1,3,0,1,2,1).
index
0 1 2 3
input 1 0 15 0 0
input 2 0 0 0 20
input 3 14 0 0 0
output
++
input 4 0 18 0 0
input 5 0 0 16 0
input 6 0 17 0 0
Рисунок 6. Пример кибернейрона, обученного образу (1,3,0,1,2,1)
На рисунке 7 изображён процесс распознавания кибернейроном этого
же образа. Другим цветом отмечены активные ячейки. А на рисунке 8 изоб-
ражён процесс распознавания образа, который незначительно отличается от
обученного образа. При этом видно, что две таблицы подстановки дали на
своём выходе значение 0. Однако суммарное значение на выходе данной мо-
дели достаточно высокое (68 из 100), что показывает достоверность работы
модели.
index
inputs 0 1 2 3
1 0 15 0 0 15
3 0 0 0 20 20
0 14 0 0 0 14
output
++
1 0 18 0 0 18
100
2 0 0 16 0 16
1 0 17 0 0 17
Рисунок 7. Пример работы кибернейрона, при подаче на его вход образа (1,3,0,1,2,1)
10
11. index
inputs 0 1 2 3
1 0 15 0 0 15
3 0 0 0 20 20
2 14 0 0 0 0
output
++
0 0 18 0 0 0
68
2 0 0 16 0 16
1 0 17 0 0 17
Рисунок 8. Пример работы кибернейрона, при подаче на его вход образа (1,3,2,0,2,1)
На рисунке 9 показан пример кибернейрона, имеющего 8 входов по 256
элементов каждый (кибернейрон обучен 200-м образам). Ячейкам, хранящих
нулевые значения, соответствует серый цвет. Ячейкам, хранящих положи-
тельные значения, соответствуют светлые оттенки, а хранящим отрицатель-
ные значения – тёмные оттенки серого.
Рисунок 9. Пример обученного кибернейрона, имеющего 8 входов по 256 элементов
каждый (кибернейрон обучался 200-м образам)
Для более детальной оценки эффективности предложенной модели ис-
кусственного нейрона были проведены экспериментальные исследования
свойств кибернейрона. Для этого исследовались:
• зависимость доли правильно обученных образов от количества
итераций обучения;
• зависимость доли ошибочного распознавания образов от количества
итераций обучения;
• зависимость количества запоминаемых образов от коэффициента
обучения.
Исследовались кибернейроны, имеющие 8-и битные и 16-и битные вхо-
ды. Образы для обучения формировались случайным образом. Результаты
исследования, для уменьшения занимаемого объема, сведены в графики.
11
12. Характеристики кибернейрона, имеющего 8-и битные входы (256
ячеек для каждой таблицы подстановки). Использовался коэффициент
обучения k = 0,25.
1,2
доля правильно обученных
1
0,8 8 bytes
образов
16 bytes
0,6
32 bytes
0,4 64 bytes
0,2
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
номе р ите рации обуче ния
Рисунок 10. Зависимость доли правильно обученных образов от количества итераций
обучения (использовалось 200 образов, данные приведены для обучения 8-и,16-и,32-х и 64-х
байтным образам)
1,2
доля правильно обученных
1
0,8 8 bytes
образов
16 bytes
0,6
32 bytes
0,4 64 bytes
0,2
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
номе р ите рации обуче ния
Рисунок 11. Зависимость доли правильно обученных образов от количества итераций
обучения (использовалось 800 образов, данные приведены для обучения 8-и,16-и,32-х и 64-х
байтным образам)
1
доля ошибочно распознанных
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
0,1
0,01 8 bytes
образов
16 bytes
0,001
32 bytes
0,0001 64 bytes
0,00001
0,000001
номе р ите рации обуче ния
Рисунок 12. Зависимость доли ошибочного распознавания образов от количества
итераций обучения (использовалось 200 образов, данные приведены для обучения 8-и,16-и,
32-х и 64-х байтным образам)
12
13. 1
доля ошибочно распознанных
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
0,1
8 bytes
0,01
16 bytes
образов
0,001 32 bytes
64 bytes
0,0001
128 bytes
0,00001
0,000001
номе р ите рации обуче ния
Рисунок 13. Зависимость доли ошибочного распознавания образов от количества
итераций обучения (использовалось 800 образов, данные приведены для обучения 8-и,16-и,
32-х и 64-х байтным образам)
Характеристики кибернейрона, имеющего 16-и битные входы
(65536 ячеек для каждой таблицы подстановки). Использовался коэффи-
циент обучения k = 0,25.
1,2
доля правильно обученных
1
0,8 8 bytes
образов
16 bytes
0,6
32 bytes
0,4 64 bytes
0,2
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
номе р ите рации обуче ния
Рисунок 14. Зависимость доли правильно обученных образов от количества итераций
обучения (использовалось 16384 образов, данные приведены для обучения 8-и,16-и,32-х и
64-х байтным образам)
1,2
доля правильно обученных
1
0,8 8 bytes
образов
16 bytes
0,6
32 bytes
0,4 64 bytes
0,2
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
номе р ите рации обуче ния
Рисунок 15. Зависимость доли правильно обученных образов от количества итераций
обучения (использовалось 65536 образов, данные приведены для обучения 8-и,16-и,32-х и
64-х байтным образам)
13
14. 1
доля ошибочно распознанных
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
0,1
образов 0,01 8 bytes
16 bytes
0,001
32 bytes
0,0001 64 bytes
0,00001
0,000001
номе р ите рации обуче ния
Рисунок 16. Зависимость доли ошибочного распознавания образов от количества
итераций обучения (использовалось 16384 образов, данные приведены для обучения 8-и,
16-и,32-х и 64-х байтным образам)
1
доля ошибочно распознанных
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
0,1
0,01 8 bytes
образов
16 bytes
0,001
32 bytes
0,0001 64 bytes
0,00001
0,000001
номе р ите рации обуче ния
Рисунок 17. Зависимость доли ошибочного распознавания образов от количества
итераций обучения (использовалось 65536 образов, данные приведены для обучения 8-и,
16-и,32-х и 64-х байтным образам)
Влияние коэффициента обучения на характеристики кибернейро-
на, имеющего 8-и битные входы, (256 ячеек для каждой таблицы подста-
новки).
Целью данного экспериментального исследования являлось определе-
ние влияния коэффициента обучения на скорость обучения и на вероятность
ошибочного распознавания образов. Результаты исследования показывают,
что точность распознавания образов с уменьшением коэффициента увеличи-
вается незначительно, при этом количество итераций обучения резко увели-
чивается. Поэтому, использование коэффициента обучения меньше 0,25 не-
желательно.
14
15. 1,2
доля правильно обученных
1
k = 0,0625
0,8
образов k = 0,125
0,6 k = 0,25
k = 0,5
0,4
k=1
0,2
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
номе р ите рации обуче ния
Рисунок 18. Влияние коэффициента обучения на скорость обучения (использовалось 400
образов, данные приведены для обучения 8-и байтным образам)
1
доля ошибочно распознанных
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
0,1 k=0,0625
k=0,125
образов
0,01 k=0,25
k=0,5
0,001 k=1
0,0001
номер ите рации обучения
Рисунок 19. Влияние коэффициента обучения на вероятность ошибочного распознавания
образов (использовалось 400 образов, данные приведены для обучения 8-и байтным
образам)
Приведённые экспериментальные данные говорят о достаточно высо-
кой информационной ёмкости одного кибернейрона. Информационная ём-
кость крайне сильно зависит от количества входов и от размерности таблиц
подстановок. Для увеличения информационной ёмкости достаточно уве-
личить размерности используемых таблиц подстановок. Также можно осуще-
ствлять размен «информационная ёмкость – скорость обучения». Всё это сви-
детельствует о высокой гибкости предложенной модели искусственного ней-
рона.
Использование кибернейрона для сигнатурного поиска компью-
терных вирусов.
Для проверки эффективности предложенной модели искусственного
нейрона использовался открытый антивирус ClamAV [7]. Данный антивирус
имеет статус opensource проекта, распространяется по лицензии GPLv2.
Проект начал функционировать в 2002 году. Данный антивирус является
15
16. фактически единственным эффективным антивирусом с открытым исходным
кодом, составляющий конкуренцию коммерческим антивирусам.
На март 2008 г. было осуществлено более двух миллионов загрузок
ClamAV с крупного opensource ресурса www.sourceforge.org (переводится до-
словно как «кузница исходных кодов»). Здесь не учитывается количество за-
грузок с официального сайта ClamAV (www.clamav.com).
Особенности ClamAV. Основное назначение ClamAV – сканирова-
ние файлов на почтовых серверах и т.д. Содержит более 169.676 сигнатур
вредоносного кода. Не позволяет лечить файлы – заражённые файлы либо
удаляются, либо помещаются в карантин. Использует сигнатурный метод по-
иска компьютерных вирусов. Упрощённа структура ClamAV изображена на
рисунке 20.
Основной модуль ClamAV
(загрузка сигнатур, обновление сигнатур, выбор сканируемых файлов,
выбор опций сканирования и т.д. )
Модуль определения типа сканируемого файла
"чистые" данные ( RAW-data )
Модуль распаковки Модуль вычисления
исполняемых файлов хэш-функции для
и архивов файла или его части
распакованные
хэш-функции
значение
данные
Модуль сигнатурного сканирования Модуль алгоритми-
Модуль сравнения
ческого распозна-
с базой данных хэш
вания вирусов
-функций вредо-
носных файлов
Сканирование Сканирование
методом методом
Бойера-Мура Ахо-Корасика
Модуль вывода результатов сканирования
Рисунок 20. Упрощённая структура антивируса ClamAV
ClamAV использует несколько вариантов описания сигнатур вирусов:
• Описание сигнатуры в виде последовательности шестнадцатерич-
ных цифр. Данный тип сигнатур хранится в файле с расширением
*.db. Пример сигнатуры:
«Phantom.4=0190e800005e56ba4c0881ea000183ee».
16
17. Допускается использование масок, т.е. замена шестнадцатеричных
значений символами «*», «?» и т.д.
• Сигнатуры описываются так же, как и в предыдущем случае. До-
полнительно указывается номер и тип секции исполняемого файла,
в котором может находиться вредоносный код. Дополнительные
сведения служат для увеличения скорости работы антивируса.
Данный тип сигнатур хранится в файле с расширением *.ndb. При-
мер сигнатуры:
«W32.MyLife.E:1:*:7a6172793230*40656d61696c2e636f6d»
• Сигнатура представляется в виде результата вычисления хэш-
функции от файла, содержащего вредоносный код. Данный вари-
ант применим в случае, когда вирус размещается в отдельном
файле. Неприменим для полиморфных и самошифрующихся виру-
сов, а так же для вирусов, заражающих другие файлы. Достоинство
– простота получения сигнатуры для вируса.
Для ускорения работы антивируса дополнительно указывается раз-
мер файла, содержащий вредоносный код. Это позволяет исклю-
чить вычисление хэш-функций для файлов, размер которых не со-
ответствует размерам, приведённых в базе сигнатур. Данный тип
сигнатур хранится в файлах с расширением *.mdb и *.hdb. Пример
сигнатуры:
«36864:d1a320843e3a92fdbb7d49137f9328a0:Trojan.Agent-1701»
Быстродействие ClamAV. В ClamAV применяется три основных ме-
тода поиска сигнатур в файлах: метод Бойра-Мура [8], метод Ахо-Корасика
[9] и сравнение результатов хэш-функции. Следует отметить, что со времени
запуска проекта ClamAV (2002 год) программные реализации методов Бойра-
Мура и Ахо-Корасика постоянно совершенствовались, особенно в плане бы-
стродействия.
Для оценки эффективности этих методов была определена скорость
сканирования файлов антивирусом ClamAV на компьютере, имеющего сле-
дующую конфигурацию:
• процессор – AMD Athlon(tm) 64 X2 Dual Core;
• рабочая частота каждого ядра процессора – 2 ГГц;
• оперативная память – DDR2, 667 МГц, объёмом 3 Гб;
• жёсткий диск – Samsung SP2514N, 250 Гб;
• операционная система – Windows XP.
Скорость оценивалась по времени обработки файла размером 615
Мбайт, состоящего из смеси исполняемых файлов, библиотек dll и т.д. Режим
сканирования – RAW (т.е. сканирование чистых данных, без распаковки ис-
полняемых файлов и архивов).
Скорость сканирования определялась несколько раз и составила 6,7
Мбайт в секунду. После первого замера, тестовый файл полностью разме-
щался в кэш памяти ОС Windows, что устраняло влияние скорости считыва-
ния жёсткого диска на скорость сканирования.
17
18. Модификация ClamAV. Для увеличения быстродействия антивиру-
са ClamAV в него был добавлен модуль быстрого детектирования вредонос-
ного кода в сканируемых данных (рисунок 21). Данный модуль представляет
собой программную реализацию кибернейрона, имеющего 2 входа по 24 бит
каждый. Соответственно размерность таблицы подстановки для каждого вхо-
да составила 16.777.216 ячеек по 8 бит каждая. Всего под данный киберней-
рон было отведено дополнительно 32 Мбайт оперативной памяти.
Основной модуль ClamAV
(загрузка сигнатур, обновление сигнатур, выбор сканируемых файлов,
выбор опций сканирования и т.д. )
Модуль определения типа сканируемого файла
"чистые" данные ( RAW-data )
Модуль распаковки Модуль вычисления
исполняемых файлов хэш-функции для
и архивов файла или его части
распакованные
хэш-функции
значение
данные
Модуль сигнатурного сканирования Модуль алгоритми-
Модуль сравнения
ческого распозна-
с базой данных хэш
вания вирусов
-функций вредо-
носных файлов
Модуль быстрого детектирования
(кибернейрон)
Сканирование Сканирование
методом методом
Бойера-Мура Ахо-Корасика
Модуль вывода результатов сканирования
Рисунок 21. Добавление в ClamAV дополнительного блока быстрого детектирования
Сканируемые данные разбивались на неперекрывающиеся блоки дли-
ной по 6 байт каждый, что соответствует размерности входа кибернейрона (2
по 24 бит). Задачей кибернейрона являлась выдача результата: 1 – обработан-
ный блок информации содержит часть сигнатуры; 0 – не содержит. В случае,
если кибернейрон обнаруживал совпадение, то блок информации и соседние
с ним блоки передавались стандартным средствам обнаружения ClamAV.
18
19. Для предотвращения пропуска участка, совпадающего с сигнатурой
вируса, кибернейрон обучался не только 6-и байтному участку сигнатуры, но
и 6-и байтным участкам, полученных путём сдвига на 1,2,3,4 и 5 позиций (см.
рисунок 22). Таким образом, каждой исходной сигнатуре соответствовало
шесть 6-и байтных сигнатур.
11-и байтная сигнатура
21 b8 00 42 33 c9 99 cd 21 8b d6
21 b8 00 42 33 c9 6-и байтная часть сигнатуры,
взятая с 1-й позиции
b8 00 42 33 c9 99 со 2-й позиции
00 42 33 c9 99 cd с 3-й позиции
42 33 c9 99 cd 21 с 4-й позиции
33 c9 99 cd 21 8b с 5-й позиции
c9 99 cd 21 8b d6 с 6-й позиции
Рисунок 22. Принцип формирования обучающих выборок для блока быстрого
детектирования
Для обучения кибернейрона использовались сигнатуры из файлов
*.db и *.ndb. При этом были отсеяны сигнатуры, имеющие длину менее 11
байт, а также сигнатуры, содержащие в себе куски, которые часто встречают-
ся в незаражённых данных. Например, содержащие длинные последователь-
ности нулей, содержащие данные заголовков исполняемых файлов и т.д. В
процессе отсеивания было отброшено около 35 % сигнатур.
Такое внушительное количество отброшенных сигнатур объясняется
тем, что данные сигнатуры составлялись без учёта особенностей нейронного
обнаружителя.
Всего из указанных файлов было загружено 114464 сигнатур, отсеяно
40179 сигнатур и извлечено 74288 11-и байтных сигнатур. Кибернейрон был
обучен 445728 6-и байтным сигнатурам, полученных из 11-и байтных сигна-
тур (рисунок 22).
Скорость сканирования модифицированным ClamAV определялась
несколько раз и составила ~ 22 Мбайт в секунду. Корректность работы моди-
фицированного ClamAV была проверена на коллекции вирусов, состоящей из
3721 файлов (обнаружено 3598 вирусов из 3721, или 96,6 %).
Дополнительно была определена скорость сканирования при исполь-
зовании сигнатур, сформированных псевдослучайным образом. Скорость
сканирования составила ~ 25 Мбайт в секунду. При этом использовалось
100.000 11-и байтных сигнатур, или 600.000 6-и байтных сигнатур.
19
20. Таблица 1. Производительность ClamAV и его модификаций
Антивирус Скорость сканирования RAW
данных, Мбайт/с
ClamAV 6,7
Модифицированный ClamAV 22
Модифицированный ClamAV +
псевдослучайные сигнатуры
25
CyberDemon 71
Приведённые результаты показывают эффективность использования
кибернейрона для ускорения работы антивируса ClamAV. Единственной
проблемой, мешающей полноценной интеграции кибернейрона в ClamAV,
является проблема извлечения качественных 6-и байтных сигнатур из стан-
дартной базы сигнатур ClamAV. Для решения этой проблемы требуется пол-
ная коллекция вирусов, что позволит выделить сигнатуры, наиболее опти-
мально подходящие для обучения кибернейрона.
Антивирус CyberDemon. Существенным фактором, ограничиваю-
щим скорость сканирования файлов при помощи модифицированного Cla-
mAV, является поиск вредоносных файлов по хэш-функциям. Так же, кибер-
нейрон использовался как элемент ускорения работы ClamAV, но не исполь-
зовалась основная способность искусственного нейрона – способность обна-
руживать модификации вирусных сигнатур.
Для определения эффективности применения кибернейрона для обна-
ружения вредоносных программ авторами был разработан собственный ме-
тод обнаружения вирусных сигнатур. На основе этого метода был разработан
антивирус CyberDemon, упрощённая структурная схема которого представле-
на на рисунке 23.
Его отличительной особенностью является обнаружение вирусных
сигнатур в 3 этапа:
1. Быстрое детектирование при помощи двух входового кибернейро-
на. Характеризуется крайне высокой скоростью сканирования дан-
ных (более 70 мегабайт в секунду) и достаточно высокой вероятно-
стью ложных срабатываний (приблизительно 0.03%).
2. Точное обнаружение при помощи восьми входового кибернейрона.
Характеризуется средней скоростью сканирования и очень низкой
вероятностью ложного срабатывания (например, при сканирова-
нии файла длиной 800 мегабайт эта вероятность составила 0%).
3. В случае обнаружения в сканируемом блоке вредоносного кода,
для него производится поиск наиболее близкого соответствия по
базе вирусных сигнатур.
20
21. Основной модуль CyberDemon
(загрузка сигнатур, обновление сигнатур, выбор сканируемых файлов,
выбор опций сканирования и т.д. )
Модуль определения Модуль отслежива-
типа сканируемого ния событий,
файла происходящих в ОС
"чистые" данные ( RAW-data )
обратная связь - обновление сигнатурной базы и фиксации условий
Модуль распаковки
Модуль анализа и
исполняемых файлов
фильтрации событий
и архивов
распакованные
появления вредоносного кода
событий
данные
поток
Модуль сигнатурного обнаружения
Модуль быстрого детектирования
(кибернейрон - 2 входа по 24 бит каждый)
Модуль точного обнаружения
(кибернейрон - 8 входов по 24 бит каждый)
Модуль сравнения анализируемого блока
с базой сигнатур и поиска наиболее
близкого соответсвия
Модуль вывода результатов сканирования и обновления сигнатур
Рисунок 23. Упрощённая структура CyberDemon’а
Использованием этих этапов достигается высокая скорость сканиро-
вания и возможность обнаружения модификаций вредоносного кода. Здесь
может проявиться полезная особенность процесса обучения кибернейрона.
Она заключается в том, что одинаковые нейроны по различному фиксируют
характерные черты запоминаемых образов. Это позволяет создать распреде-
ленную антивирусную систему, состоящую из множества компьютеров,
объединенных в единую сеть, каждый элемент которой обнаруживает раз-
личные характерные черты вредоносного кода и обменивается с другими эле-
21
22. ментами информацией о новых модификациях вирусов. Данная система по
эффективности обнаружения новых и модифицированных вирусов будет пре-
восходить любую одиночную систему.
В силу рассмотренных в статье особенностей кибернейрона появляет-
ся возможность создания адаптивного антивируса, позволяющего как нахо-
дить новые варианты вредоносного кода, так и обновлять базу вирусных сиг-
натур.
При существующих тенденциях увеличения количества компьютерных
вирусов (2005 год – более 50 тысяч сигнатур; 2006 год – более 100 тысяч
сигнатур; 2007 год – 220172 тысяч сигнатур [11-13]) может возникнуть
ситуация, когда классические сигнатурные методы поиска компьютерных
вирусов окажутся несостоятельными. Например, скорость работы антивируса
окажется неудовлетворительной или потребуется необоснованно большое
количество вычислительных ресурсов.
Для решения этой проблемы необходимо переходить к методам, об-
наруживающих вредоносный код по результатам его деятельности – т.е., к
сигнатурам событий. В этом случае в полной мере могут проявиться такие
качества поиска при помощи кибернейрона, как способность обнаруживать
похожие сигнатуры.
Заключение:
• Кибернейрон обладает значительно большей информационной ёмко-
стью, чем формальный нейрон.
• Обучение новым образам – быстрое, простое и требует только опера-
ций сложения и вычитания.
• При обучении кибернейрона новому образу, вероятность искажения
предыдущих запомненных образов значительно ниже, по сравнению с
формальным нейроном.
• Использование кибернейрона вместо формального нейрона в ряде слу-
чаев может значительно уменьшить сложность нейросети.
• Эффективная и простая реализация в программном и аппаратном ви-
дах.
• Вместо операции суммирования можно использовать другие операции
объединения результатов.
• Экспериментальные исследования показали достаточно высокую эф-
фективность применения кибернейрона при решении задач обнаруже-
ния компьютерных вирусов.
• Невозможность использования для обучения нейросети, составленной
из кибернейронов, алгоритма обратного распространения ошибки
• В силу своей специфики использование кибернейрона в некоторых ви-
дах нейросетей может быть неэффективно (возникнет необходимость
смены алгоритма обучения).
22
23. Проводимые авторами исследования в этом направлении не ограни-
чиваются приведенным материалом. Уже получены принципы объединения
кибернейронов в нейросеть, имеющую значительно большую информацион-
ную емкость и способную обучатся за 1 итерацию. Однако это является мате-
риалом отдельной статьи.
Список литературы:
1. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры: учеб. пособие для вузов. – М.: Изд-
во МГТУ им. Н.Э.Баумана, 2004.
2. Терехов С.А. Лекции по теории и приложениям искусственных нейронных сетей. http://
alife.narod.ru/lectures/neural/Neu_ch03.htm
3. Березин А.А. Физико-математическая модель нейрона на основе явления возврата
Ферми—Паста—Улама для разработки принципиально новых элементов памяти
большой емкости. http://www.techno.edu.ru:16001
4. Владимиров А. Wi-фу: «боевые» приёмы взлома и защиты беспроводных сетей и Hack-
ing Exposed Cisco Networks (Hacking Exposed) www.infosystems.ru/f/userfiles/File/wifi.pdf
5. Anil K. Jain, Jianchang Mao, K.M. Mohiuddin. Artificial Neural Networks: A Tutorial,
Computer, Vol.29, No.3, March/1996, pp. 31-44.
6. Джейн А.К., Мао Ж., Моиуддин К.М. Введение в искусственные нейронные сети.
http://chat.ru/~officier/161.htm
7. Интернет ресурс www.clamav.com
8. http://ru.wikipedia.org/wiki/Алгоритм_Бойера-Мура_поиска_строки
9. Гасфилд Д. Строки, деревья и последовательности в алгоритмах. Информатика и вы-
числительная биология. Изд-во БХВ-Петербург, 2003.
10. Шеперд Г. Нейробиология: В 2-х т. Т. 2. Пер. с. Англ. – М.: Мир, 1987.
11. http://www.crime-research.ru/news/20.02.2008/4284/
12. http://mychip.com.ua/bezopasnost/kompjuternye-virusy-udvoilis-za-god.html
13. http://www.kaspersky.ru/reading_room?chapter=207367402
23