Новые книги

Солодар Мария – блогер, спикер крупнейших конференций по маркетингу, руководитель агентства по созданию автоворонок Evo-publishing, внедрившего автоворонки в работу топовых компаний Рунета.

Эта книга – первое на русском языке издание, посвященное созданию, оптимизации и автоматизации воронок продаж в интернете.

Автор книги предлагает решение: автоматизированную воронку – систему построения длительных отношений с пользователями для многоразовых продаж.

Ее результатом является повышение среднего чека, увеличение количества сделок, снижение затрат на рекламу, повышение конверсии и главное – автоматизация продаж в Сети, что сокращает издержки и положительно влияет на маржинальность.

Автор книги принесла на русскоязычное пространство тренд автоворонок, принимая участие в их создании для тысяч компаний: опт и розница, услуги и обучение, онлайн-магазины и b2b-сегмент, медицина и недвижимость, одежда и спорт… Весь этот опыт помещен на страницы книги: пошаговая инструкция по созданию и автоматизации воронки откроет новые возможности для ваших продаж в интернете.
Креативный маркетинг — это хорошо. Гениальный маркетинг — это отлично.

Но мало.

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

Система «90 дней» — это способ организации работы маркетинга в компании, позволяющий получить максимальную системность, концентрацию и результативность.

Проверено — работает!

Введение

Введение


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

Что же следует понимать под термином нейрокомпьютер? Вопрос достаточно сложный. Нейросетевая тематика, как таковая, является междисциплинарной, ей занимаются как разработчики вычислительных систем и программисты, так и специалисты в области медицины, финансово-экономические работники, химики, физики и т.п. То, что понятно физику, совершенно не принимается медиком и наоборот - все это породило многочисленные споры и целые терминологические войны по различным направлениям применения всего где есть приставка нейро-. Приведем некоторые наиболее устоявшиеся определения нейрокомпьютера [1,2,4,6], принятые в конкретных научных областях:

Общие принципы построения нейронных сетей были заложены в начале второй половины 20 века в работах таких ученых, как: Д. Хебб, М. Минский, Ф. Розенблат. Первые нейросети состояли из одного слоя искусственных нейронов-персептронов. М. Минским были строго доказаны ряд теорем определяющих принципы функционирования нейронных сетей. Несмотря на многочисленные преимущества персептронов: линейность, простота реализации параллельных вычислений, оригинальный алгоритм обучения и т.п., М. Минским вместе с соавторами было показано, что реализованные на его основе однослойные нейронные сети не способны решить большое число разнообразных задач. Это вызвало некоторое ослабление темпов развития нейросетевых технологий в 60-е годы. В дальнейшем многие ограничения по использованию нейросетей были сняты с разработкой многослойных нейронных сетей, определение которых было впервые введено Ф.Розенблатом: "под многослойной нейронной сетью понимается такое свойство структуры преобразования, которое осуществляется стандартной разомкнутой нейронной сетью при топологическом, а не символьном описании". Дальнейшее развитие теория нейронных сетей нашла в 70-80 годах в работах Б. Уидроу, Андерсона, Т. Кохонена, С. Гроссберга и др.

Теория нейросетей не внесла революционных новшеств в алгоритмы адаптации и оптимального управления. Самообучающиеся системы известны давно, теория адаптивных регуляторов также хорошо разработана, они широко применяются в технике. Теория нейросетей осваивает разработанные ранее методы и пытается их приспособить для создания все более эффективных нейронных систем. Особую важность использование нейроструктур приобретает с точки зрения производительности ЭВМ. Согласно гипотезе Минского [2-4]: реальная производительность типовой параллельной вычислительной системы из n процессоров растет как log(n) (то есть производительность системы из 100 процессоров всего вдвое выше, чем производительность 10-процессорной системы - процессоры дольше ждут своей очереди, чем вычисляют). Однако, если использовать для решения задачи нейронную сеть, то параллелизм может быть использован практически полностью - и производительность растет "почти пропорционально" n.

Научное направлениеОпределение нейровычислительной системы
1Математическая статистикаНейрокомпьютер - это вычислительная система, автоматически формирующая описание характеристик случайных процессов или их совокупности, имеющих сложные, зачастую априори неизвестные функции распределения.
2Математическая логикаНейрокомпьютер - это вычислительная система алгоритм работы которой представлен логической сетью элементов частного вида - нейронов, с полным отказом от булевых элементов типа И, ИЛИ, НЕ.
3Пороговая логикаНейрокомпьютер - это вычислительная система, алгоритм решения задач в которой представлен в виде сети пороговых элементов с динамически перестраиваемыми коэффициентами и алгоритмами настройки, независимыми от размерности сети пороговых элементов и их входного пространства.
4Вычислительная техникаНейрокомпьютер - это вычислительная система с MSIMD архитектурой, в которой процессорный элемент однородной структуры упрощен до уровня нейрона, резко усложнены связи между элементами и программирование перенесено на изменение весовых коэффициентов связей между вычислительными элементами.
5Медицина (нейробиологический подход)Нейрокомпьютер - это вычислительная система представляющая собой модель взаимодействия клеточного ядра, аксонов и дендридов, связанных синаптическими связями (синапсами) (т.е. модель биохимических процессов протекающих в нервных тканях).
6Экономика и финансыУстоявшегося определения нет, но чаще всего под нейровычислителем понимают систему обеспечивающую параллельное выполнение "бизнес-транзакций" с элементами "бизнес-логики".

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

В дальнейшем в данном обзоре под нейрокомпьютером будет пониматься любая вычислительная система с MSIMD архитектурой (определение №4). Прежде чем перейти к обзору современных нейровычислителей и их элементной базы, остановимся на классификации архитектур вычислительных систем по Б.М. Когану:

  • Вычислительную систему с одним потоком команд и данных (однопроцессорная ЭВМ - SISD) (рис.1а).
  • Вычислительную систему с общим потоком команд (SIMD - одиночный поток команд и множественный поток данных) (рис.1б).
  • Вычислительную систему множественным потоком команд и одиночным потоком данных (MISD - конвейерная ЭВМ) (рис.1в).
  • Вычислительная система с множественным потоком команд и данных (рис.1г) (MIMD).

Рис.1. Архитектуры вычислительных систем.

Элементарным строительным элементом нейронной сети (НС) является нейрон, который осуществляет взвешенное суммирование поступающих на его вход сигналов. Результат такого суммирования образует промежуточный выходной сигнал, который преобразуется активационной функцией в выходной сигнал нейрона. По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона, имеющей большой коэффициент усиления для слабых сигналов и c падающим усилением для больших возбуждений. Коэффициент усиления вычисляется как отношение выходного сигнала нейрона к вызвавшему его небольшому приращению взвешенной суммы входных сигналов. Кроме этого для обеспечения увеличения вычислительной мощности многослойными НС, по сравнению с однослойными, необходимо чтобы активационная функция между слоями была нелинейной, т.е. как показано в учитывая ассоциативность операции умножения матриц любую многослойную нейросеть без нелинейных активационных функций можно свести к эквивалентной однослойной нейросети, которые весьма ограничены по своим вычислительным возможностям. Но вместе с этим наличие нейлинейностей на выходе нейрона не может служить определяющим критерием, хорошо известны и успешно работают нейросети и без нелинейных преобразований на выход, получившие название нейросети на линиях задержки.

Алгоритмический базис нейрокомпьютеров обеспечивает теория нейронных сетей (НС). Нейронная сеть - это сеть с конечным числом слоёв из однотипных элементов - аналогов нейронов с различными типами связи между слоями. Среди основных преимуществ НС в [2] отмечены: инвариантность методов синтеза НС к размерности пространства признаков и размерам НС, адекватность современным перспективным технологиям, отказоустойчивость в смысле монотонного, а не катастрофического изменения качества решения задачи в зависимости от числа вышедших из строя элементов.

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

Как было отмечено, нейрокомпьютер - это вычислительная система с MSIMD архитектурой, т.е. с параллельными потоками одинаковых команд и множественным потоком данных. Давайте разберемся, каким боком относятся нейрокомпьютеры к параллельным ЭВМ. На сегодня можно выделить три основных направления развития вычислительных систем с массовым параллелизмом (ВСМП):

Наименование направленияОписание
1ВСМП на базе каскадного соединения универсальных SISD, SIMD, MISD микропроцессоров. Элементная база - универсальные RISC или CISC процессоры: Intel, AMD, Sparc, Alpha, Power PC, MIPS и т.п.
2На базе процессоров с распараллеливанием на аппаратном уровне. Элементная база - DSP процессоры: TMS, ADSP, Motorola
3ВСМП на специализированной элементной базе Элементная база от специализированных однобитовых процессоров до нейрочипов.

Для каждого из направлений сегодня существуют решения, реализующие те или иные нейросетевые парадигмы. Для большей ясности в дальнейшем будем считать, что нейросетевые системы, реализованные на аппаратных платформах первого направления (пусть и мультипроцессорных) будем относить к нейроэмуляторам - т.е. системам реализующим типовые нейрооперации (взвешенное суммирование и нелинейное преобразование) на программном уровне. Нейросетевые системы, реализованные на аппаратных платформах второго и третьего направления в виде плат расширения стандартных вычислительных систем (1-го направления) - будем называть нейроускорителями (взвешенное суммирование, как правило, реализуется аппаратно, например, на основе трансверсальных фильтров, а нелинейные преобразования - программно) и системы, реализованные на аппаратной платформе третьего направления в виде функционально законченных вычислительных устройств, следует относить к нейрокомпьютерам (все операции выполняются в нейросетевом логическом базисе). Подводя итоги терминологической "войны" можно отметить, что нейрокомпьютеры можно смело отнести к вычислительным системам с высоким параллелизмом (MSIMD архитектуры), реализованным на основе специализированной элементной базы, ориентированной на выполнение нейросетевых операций в нейросетевом логическом базисе.

Вопросы построения и применения нейроэмуляторов выходят за рамки данного обзора, заинтересованному читателю мы можем порекомендовать обратиться к литературе [3,6,7]. Мы остановимся на обзоре современных нейроускорителей и нейрокомпьютеров, рассмотрев сначала элементы нейрологики с позиции аппаратной реализации, затем перейдем к элементной базе нейровычислителей (сигнальные процессоры и нейрочипы), а затем проанализируем архитектурные решения и тактико-технические свойства наиболее распространенных модификаций.

[Содержание][Вперед]