SlideShare uma empresa Scribd logo
1 de 44
ЭЛЕМЕНТЫ
                            ИСКУСТВЕННОГО
                            ИНТЕЛЛЕКТА ПРИ
                          ПРОГРАММИРОВАНИИ.




Цуканов Павел
ptsukanov@codereign.net
Skype: cpp.tula
Что такое ИИ?
• Это наука и технология создания
  интеллектуальных машин
• Встречается много разных определений, но
  больше всего мне нравится следующее –
  Наука о том, как научить компьютеры делать
  то, в чѐм люди в настоящее время их
  превосходят
• С моей точки создание ИИ не ведѐт к
  появлению сознания. Хотя кто знает...
Помощник человека. Воз и
          ныне там.....




Леонардо      ASIMO        WALL-E
Да Винчи      2000          ????
  1495
Искуственный интеллект далек
 от совершенства.....
• Кто виноват?
• Что делать?
Создавать не дублируя
Тест Тьюринга
• Основная идея - поведение
  объекта, обладающего
  искусственным интеллектом, в
  конечном итоге нельзя будет
  отличить от поведения таких
  бесспорно интеллектуальных
  сущностей, как человеческие
  существа.
• Приз Лѐбнера -
  http://www.loebner.net/Prizef/loebner-
  prize.html
• Тест Тьюринга не пройден!!!
Для прохождение необходимо
 чтобы ИИ мог
• Обрабатывать текст на естественных языках.
• Понимать и сохранять то, что узнаѐт.
• Формировать логические выводы
• Приспосабливаться к новым обстоятельтвам
Что имеем?
• Нейронные сети
• Генетические алгортмы
• Распознование и генерация речи
• Робототехника
• Машинное зрение
• Нечѐткая логика
• Чат-боты
• Экспертные системы
Нейронные сети. Области применения
• Экономика и бизнес: прогнозирование временных рядов
  (курсов валют, цен на сырьѐ, объемов
  продаж,..), автоматический трейдинг, оценка рисков
  невозврата кредитов, предсказание банкротств, оценка
  стоимости недвижимости, выявление переоцененных и
  недооцененных компаний, рейтингование, оптимизация
  товарных и денежных потоков, считывание и распознавание
  чеков и документов, безопасность транзакций по
  пластиковым картам.
• Медицина: постановка диагноза, обработка медицинских
  изображений, мониторинг состояния пациента, анализ
  эффективности лечения, очистка показаний приборов от
  шумов.
• Авионика: обучаемые автопилоты, распознавание сигналов
  радаров, адаптивное пилотирование сильно поврежденного
  самолета, беспилотные летательные аппараты.
Нейронные сети. Области применения
• Связь: сжатие видеоинформации, быстрое кодирование-
  декодирование, оптимизация сотовых сетей и схем
  маршрутизации пакетов.
• Интернет: ассоциативный поиск информации, электронные
  секретари и автономные агенты в интернете, фильтрация
  информации, блокировка спама, автоматическая рубрикация
  сообщений из новостевых лент, адресные реклама и
  маркетинг для электронной торговли.
• Автоматизация производства: оптимизация режимов
  производственного процесса, контроль качества
  продукции, мониторинг и визуализация многомерной
  диспетчерской информации, предупреждение аварийных
  ситуаций, робототехника.
• Политологические и социологические технологии:
  предсказание результатов выборов, анализ опросов и т.д.
Нейронные сети. Области применения
• Безопасность и охранные системы: распознавание лиц;
  идентификация личности по отпечаткам пальцев, голосу,
  подписи или лицу; распознавание автомобильных номеров,
  анализ аэрокосмических снимков, мониторинг
  информационных потоков в компьютерной сети и
  обнаружение вторжений, обнаружение подделок.
• Ввод и обработка информации: распознавание рукописных
  текстов, отсканированных почтовых, платежных,
  финансовых и бухгалтерских документов.
• Геологоразведка: анализ сейсмических данных,
  ассоциативные методики поиска полезных ископаемых,
  оценка ресурсов месторождений.
Нейрон
     Входы   Веса        Ячейка       Аксон      Выход

X1
              W1
X2           W2                                      Y
             W3
X3                           S


      ……     Wn


Xn                    Состояние нейрона


                                              f’(x) = af(x)(1-f(x))

                    Активационная функция
Нейронная сеть
Входы       Слой 1     Слой 2      Слой 3

X1
                                              Y1

X2

                                              Y2
X3


        Обычно нейронная сеть выглядит так!
Обучение нейронных сетей

   • Способов Очень Много
   • Однако можно разделить на 2 класса
     • Детерминистские
     • Стохастические
Метод обратного распространения
                            X1   W11                W11




                                                                                           Обучающая пара (Результат)
 Обучающая пара (Образец)




                                 W12                W12
                                        W13                W13
                                                                   W11
                            X2     W21                W21                              Y
                                  W22                W22         W12


                                       W23                W23
                                                                       W13
                                        W31               W31
                            X3   W32
                                 W32
                                                    W32
                                                    W32




Случайно                                      Установка весов                Разница
Пример апроксимации нейронной сети
Пример предсказаний нейронной сети
Генетические алгоритмы. Области
применения
• Оптимизация функций
• Разнообразные задачи на графах (задача
  коммивояжера, раскраска, нахождение паросочетаний)
• Настройка и обучение искусственной нейронной сети
• Задачи компоновки
• Составление расписаний
• Игровые стратегии
• Аппроксимация функций
• Искусственная жизнь
Решение задачи коммивояжора
Рождение
                                                Расстояние
Точки
           Особи              Целевая функция   по маршруту
маршрута
                                                особи
   1.      Особь 1                   0


   2.      Особь 2                   0
                                                  Зона
   3.      Особь 3                   0          выживания
   4.      Особь 4                   0


   5.      Особь 5                   0


                      ……………
                      ……
   N-2.    Особь 30                  0

                                                    Зона
   N-1.    Особь 31                  0
                                                   смерти
   N.      Особь 32                  0
Вычисление целевой функции
       Особи              Целевая функция


1.     Особь 1                  10


2.     Особь 2                  30
                                              Зона
3.     Особь 3                  300         выживания
4.     Особь 4                  500


5.     Особь 5                  410


                  ……………
                  ……
N-2.   Особь 30                 100

                                              Зона
N-1.   Особь 31                 100
                                             смерти
N.     Особь 32                 400
Селекция и размножение
        Особи             Целевая функция


1.      Особь 1                 10


2.      Особь 2                 30
                                              Зона
3.     Особь 30                 100         выживания
4.     Особь 31                 100


5.      Особь 3                 410


                  ……………
                  ……
N-2.   Особь 34                  0

                                              Зона
N-1.   Особь 35                  0
                                             смерти
N.     Особь 36                  0
Моделирование сигнала
Мои выводы о генетических
 алгоритмах
1. Обмен генетическим материалом позволяет
ускорить поиск оптимального решения в разы по
сравнению с простым случайным выбором
2. Небольшая Мутация необходима для
осуществления качественных изменений, Сильная
мутация ведѐт к остановке развития
3. Обмен генетического материала с потомками
ведѐт к остановки развития
4. Как ни странно крайне необходим обмен
генетичесткого материала со слабейшими - это
ведет к качественным скачкам в развитии.
Машинное зрение.
Под этим подразумевают
• анализ профилей яркости, проекций и гистограмм
• сегментация изображений, выделение и анализ областей и
  контуров
• обнаружение прямолинейных, круглых и других аналитических
  структур
• текстурный анализ, вычисление статистик
• выделение объектов, вычисление геометрических признаков
• выделение объектов
• распознавание объектов
• слежение за объектами
• оптическое распознавание текста
Машинное зрение
• Хотел отметить, в качестве датчиков
  подразувается не только видеокамеры, но и
  лазерные дальномеры, ультрозвуковые
  датчики, температурные и т.д.




• А теперь перейдѐм технологии распознования
  глифов.
Glyphs




         Где они на изображении?
Как распознать?




• Можно конечно создать большую нейронную
  сеть по аналогии с человеческим мозгом и
  несколько лет еѐ обучать.
• Но у нас нет таких ресурсов.
• Поэтому всегда изобретается, что-то своѐ.
Алгоритм распознования
1. Перевод в Grayscale
• Снижает объѐм обрабатываемых данных
• Нам всѐ равно не нужен цвет
Алгоритм распознования
2. Превращение в чѐрно-белое
изображение
• И поиск в нѐм четырѐх угольников
Алгоритм распознования
2. Определяем регионы контрастности
• Фильтр находит края объектов, вычисляя
  максимальную разницу между пикселями в 4
  направлениях.
Алгоритм распознования
 3. Находим все объекты, имеющие белую
 замкнутую границу
 4. Определяем, что они 4х угольники.




 Теперь мы имеем координаты потенциальных
 глифов – надо только их распознать.
Алгоритм распознования
 5. Поворачиваем найденные 4-х угольники




 6. Делаем изображение ч/б и накладываем
 сетку.
Алгоритм распознования
 7. Получаем масив 0 и 1
Алгоритм распознования
 8. А дальше дело техники
Glyphs
 А собственно зачем всѐ это?
Нечѐткая логика (Fuzzy logic).
Понятие нечѐткой логики было впервые введено
профессором Лютфи Заде в 1965 году.
Основной причиной появления новой теории стало
наличие нечетких и приближенных рассуждений
при описании человеком
процессов, систем, объектов.
Нечѐткая логика (Fuzzy logic).
Нечеткая логика может обрабатывать качественные значения, а не
количественные значения. Можно определить так называемые
лингвистические переменные, вместо классических числовых
переменные, и может выполнять вычисления с этими переменными, с
помощью нечетких правил, имитирующих определенным образом
человеческие процессы мышления. Неполная или неточная
информация может быть использована для вычисления, например:
“Этот человек высокого роста”;
“Этот объект является тяжелым”;
Во всех этих случаях, смысл высокий, тяжелый имеют отношение к
решению проблемы, а не к точному определению числового значения.
Для представления и вычисления таких проблем, используемых
ежедневно в человеческом общении, мы можем использовать
нечѐткую логику.
Нечѐткая логика (Fuzzy logic).
Нечѐткая логика (Fuzzy logic).
Нечѐтко двигаемся......
Рекомендую!
• http://www.aforgenet.com
• http://www.basegroup.ru
В заключении хотел
сказать
• Этим заниматься очень интересно.
• Приведѐт ли это в конце концов к
  вымиранию нашей профессии?
  Наверное. Но не так быстро.
• Если машина всѐ-таки пройдѐт тест
  Тьюринга – Мир изменится кардинально
  и навсегда. Это будет уже другой мир.
  Какой? Можно только помечтать......
Пожалуйста, Ваши Вопросы!!!

Mais conteúdo relacionado

Mais procurados

20110409 quantum algorithms_vyali_lecture06
20110409 quantum algorithms_vyali_lecture0620110409 quantum algorithms_vyali_lecture06
20110409 quantum algorithms_vyali_lecture06
Computer Science Club
 
Численные методы решения СЛАУ. Метод Гаусса.
Численные методы решения СЛАУ. Метод Гаусса.Численные методы решения СЛАУ. Метод Гаусса.
Численные методы решения СЛАУ. Метод Гаусса.
Theoretical mechanics department
 
CV2011 Lecture 8. Detection
CV2011 Lecture 8. DetectionCV2011 Lecture 8. Detection
CV2011 Lecture 8. Detection
Anton Konushin
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
Anton Konushin
 
3 t extr2_10_olon hub function
3 t extr2_10_olon hub function3 t extr2_10_olon hub function
3 t extr2_10_olon hub function
boogii79
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
Computer Science Club
 

Mais procurados (8)

CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
 
CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.
 
20110409 quantum algorithms_vyali_lecture06
20110409 quantum algorithms_vyali_lecture0620110409 quantum algorithms_vyali_lecture06
20110409 quantum algorithms_vyali_lecture06
 
Численные методы решения СЛАУ. Метод Гаусса.
Численные методы решения СЛАУ. Метод Гаусса.Численные методы решения СЛАУ. Метод Гаусса.
Численные методы решения СЛАУ. Метод Гаусса.
 
CV2011 Lecture 8. Detection
CV2011 Lecture 8. DetectionCV2011 Lecture 8. Detection
CV2011 Lecture 8. Detection
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
 
3 t extr2_10_olon hub function
3 t extr2_10_olon hub function3 t extr2_10_olon hub function
3 t extr2_10_olon hub function
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
 

Destaque

Sql azure federations
Sql azure federations Sql azure federations
Sql azure federations
Pavel Tsukanov
 
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВРАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
Pavel Tsukanov
 

Destaque (20)

Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
 
Thinking in parallel ab tuladev
Thinking in parallel ab tuladevThinking in parallel ab tuladev
Thinking in parallel ab tuladev
 
Введение в Knockout
Введение в Knockout Введение в Knockout
Введение в Knockout
 
Sql azure federations
Sql azure federations Sql azure federations
Sql azure federations
 
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИ
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИSIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИ
SIGNALR - ОБМЕН СООБЩЕНИЯМИ В РЕАЛЬНОМ ВРЕМЕНИ
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMKNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
 
Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)
 
RESPONSIVE WEB DESIGN
RESPONSIVE WEB DESIGNRESPONSIVE WEB DESIGN
RESPONSIVE WEB DESIGN
 
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++
СИ++ УМЕР. ДА ЗДРАВСТВУЕТ СИ++
 
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
 
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВРАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ
 
Unit tests
Unit testsUnit tests
Unit tests
 
Domain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийDomain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требований
 
TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.
 
PaaS и SaaS
PaaS и SaaSPaaS и SaaS
PaaS и SaaS
 
Автоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriverАвтоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriver
 
Реализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFРеализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCF
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Лекция Android
Лекция AndroidЛекция Android
Лекция Android
 
Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?
 

Mais de Pavel Tsukanov

Mais de Pavel Tsukanov (10)

МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
 
СОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯСОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯ
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
 
АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5
 
ХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫ
 
ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Как писать красивый код или основы SOLID
Как писать красивый код или основы SOLIDКак писать красивый код или основы SOLID
Как писать красивый код или основы SOLID
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода
 

ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/events/128)

  • 1. ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. Цуканов Павел ptsukanov@codereign.net Skype: cpp.tula
  • 2. Что такое ИИ? • Это наука и технология создания интеллектуальных машин • Встречается много разных определений, но больше всего мне нравится следующее – Наука о том, как научить компьютеры делать то, в чѐм люди в настоящее время их превосходят • С моей точки создание ИИ не ведѐт к появлению сознания. Хотя кто знает...
  • 3. Помощник человека. Воз и ныне там..... Леонардо ASIMO WALL-E Да Винчи 2000 ???? 1495
  • 4. Искуственный интеллект далек от совершенства..... • Кто виноват? • Что делать?
  • 6. Тест Тьюринга • Основная идея - поведение объекта, обладающего искусственным интеллектом, в конечном итоге нельзя будет отличить от поведения таких бесспорно интеллектуальных сущностей, как человеческие существа. • Приз Лѐбнера - http://www.loebner.net/Prizef/loebner- prize.html • Тест Тьюринга не пройден!!!
  • 7. Для прохождение необходимо чтобы ИИ мог • Обрабатывать текст на естественных языках. • Понимать и сохранять то, что узнаѐт. • Формировать логические выводы • Приспосабливаться к новым обстоятельтвам
  • 8. Что имеем? • Нейронные сети • Генетические алгортмы • Распознование и генерация речи • Робототехника • Машинное зрение • Нечѐткая логика • Чат-боты • Экспертные системы
  • 9. Нейронные сети. Области применения • Экономика и бизнес: прогнозирование временных рядов (курсов валют, цен на сырьѐ, объемов продаж,..), автоматический трейдинг, оценка рисков невозврата кредитов, предсказание банкротств, оценка стоимости недвижимости, выявление переоцененных и недооцененных компаний, рейтингование, оптимизация товарных и денежных потоков, считывание и распознавание чеков и документов, безопасность транзакций по пластиковым картам. • Медицина: постановка диагноза, обработка медицинских изображений, мониторинг состояния пациента, анализ эффективности лечения, очистка показаний приборов от шумов. • Авионика: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета, беспилотные летательные аппараты.
  • 10. Нейронные сети. Области применения • Связь: сжатие видеоинформации, быстрое кодирование- декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов. • Интернет: ассоциативный поиск информации, электронные секретари и автономные агенты в интернете, фильтрация информации, блокировка спама, автоматическая рубрикация сообщений из новостевых лент, адресные реклама и маркетинг для электронной торговли. • Автоматизация производства: оптимизация режимов производственного процесса, контроль качества продукции, мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций, робототехника. • Политологические и социологические технологии: предсказание результатов выборов, анализ опросов и т.д.
  • 11. Нейронные сети. Области применения • Безопасность и охранные системы: распознавание лиц; идентификация личности по отпечаткам пальцев, голосу, подписи или лицу; распознавание автомобильных номеров, анализ аэрокосмических снимков, мониторинг информационных потоков в компьютерной сети и обнаружение вторжений, обнаружение подделок. • Ввод и обработка информации: распознавание рукописных текстов, отсканированных почтовых, платежных, финансовых и бухгалтерских документов. • Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений.
  • 12. Нейрон Входы Веса Ячейка Аксон Выход X1 W1 X2 W2 Y W3 X3 S …… Wn Xn Состояние нейрона f’(x) = af(x)(1-f(x)) Активационная функция
  • 13. Нейронная сеть Входы Слой 1 Слой 2 Слой 3 X1 Y1 X2 Y2 X3 Обычно нейронная сеть выглядит так!
  • 14. Обучение нейронных сетей • Способов Очень Много • Однако можно разделить на 2 класса • Детерминистские • Стохастические
  • 15. Метод обратного распространения X1 W11 W11 Обучающая пара (Результат) Обучающая пара (Образец) W12 W12 W13 W13 W11 X2 W21 W21 Y W22 W22 W12 W23 W23 W13 W31 W31 X3 W32 W32 W32 W32 Случайно Установка весов Разница
  • 18. Генетические алгоритмы. Области применения • Оптимизация функций • Разнообразные задачи на графах (задача коммивояжера, раскраска, нахождение паросочетаний) • Настройка и обучение искусственной нейронной сети • Задачи компоновки • Составление расписаний • Игровые стратегии • Аппроксимация функций • Искусственная жизнь
  • 20. Рождение Расстояние Точки Особи Целевая функция по маршруту маршрута особи 1. Особь 1 0 2. Особь 2 0 Зона 3. Особь 3 0 выживания 4. Особь 4 0 5. Особь 5 0 …………… …… N-2. Особь 30 0 Зона N-1. Особь 31 0 смерти N. Особь 32 0
  • 21. Вычисление целевой функции Особи Целевая функция 1. Особь 1 10 2. Особь 2 30 Зона 3. Особь 3 300 выживания 4. Особь 4 500 5. Особь 5 410 …………… …… N-2. Особь 30 100 Зона N-1. Особь 31 100 смерти N. Особь 32 400
  • 22. Селекция и размножение Особи Целевая функция 1. Особь 1 10 2. Особь 2 30 Зона 3. Особь 30 100 выживания 4. Особь 31 100 5. Особь 3 410 …………… …… N-2. Особь 34 0 Зона N-1. Особь 35 0 смерти N. Особь 36 0
  • 24. Мои выводы о генетических алгоритмах 1. Обмен генетическим материалом позволяет ускорить поиск оптимального решения в разы по сравнению с простым случайным выбором 2. Небольшая Мутация необходима для осуществления качественных изменений, Сильная мутация ведѐт к остановке развития 3. Обмен генетического материала с потомками ведѐт к остановки развития 4. Как ни странно крайне необходим обмен генетичесткого материала со слабейшими - это ведет к качественным скачкам в развитии.
  • 25. Машинное зрение. Под этим подразумевают • анализ профилей яркости, проекций и гистограмм • сегментация изображений, выделение и анализ областей и контуров • обнаружение прямолинейных, круглых и других аналитических структур • текстурный анализ, вычисление статистик • выделение объектов, вычисление геометрических признаков • выделение объектов • распознавание объектов • слежение за объектами • оптическое распознавание текста
  • 26. Машинное зрение • Хотел отметить, в качестве датчиков подразувается не только видеокамеры, но и лазерные дальномеры, ультрозвуковые датчики, температурные и т.д. • А теперь перейдѐм технологии распознования глифов.
  • 27. Glyphs Где они на изображении?
  • 28. Как распознать? • Можно конечно создать большую нейронную сеть по аналогии с человеческим мозгом и несколько лет еѐ обучать. • Но у нас нет таких ресурсов. • Поэтому всегда изобретается, что-то своѐ.
  • 29. Алгоритм распознования 1. Перевод в Grayscale • Снижает объѐм обрабатываемых данных • Нам всѐ равно не нужен цвет
  • 30. Алгоритм распознования 2. Превращение в чѐрно-белое изображение • И поиск в нѐм четырѐх угольников
  • 31. Алгоритм распознования 2. Определяем регионы контрастности • Фильтр находит края объектов, вычисляя максимальную разницу между пикселями в 4 направлениях.
  • 32. Алгоритм распознования 3. Находим все объекты, имеющие белую замкнутую границу 4. Определяем, что они 4х угольники. Теперь мы имеем координаты потенциальных глифов – надо только их распознать.
  • 33. Алгоритм распознования 5. Поворачиваем найденные 4-х угольники 6. Делаем изображение ч/б и накладываем сетку.
  • 34. Алгоритм распознования 7. Получаем масив 0 и 1
  • 35. Алгоритм распознования 8. А дальше дело техники
  • 36. Glyphs А собственно зачем всѐ это?
  • 37. Нечѐткая логика (Fuzzy logic). Понятие нечѐткой логики было впервые введено профессором Лютфи Заде в 1965 году. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.
  • 38. Нечѐткая логика (Fuzzy logic). Нечеткая логика может обрабатывать качественные значения, а не количественные значения. Можно определить так называемые лингвистические переменные, вместо классических числовых переменные, и может выполнять вычисления с этими переменными, с помощью нечетких правил, имитирующих определенным образом человеческие процессы мышления. Неполная или неточная информация может быть использована для вычисления, например: “Этот человек высокого роста”; “Этот объект является тяжелым”; Во всех этих случаях, смысл высокий, тяжелый имеют отношение к решению проблемы, а не к точному определению числового значения. Для представления и вычисления таких проблем, используемых ежедневно в человеческом общении, мы можем использовать нечѐткую логику.
  • 43. В заключении хотел сказать • Этим заниматься очень интересно. • Приведѐт ли это в конце концов к вымиранию нашей профессии? Наверное. Но не так быстро. • Если машина всѐ-таки пройдѐт тест Тьюринга – Мир изменится кардинально и навсегда. Это будет уже другой мир. Какой? Можно только помечтать......