Unsupervised learning или «пойди туда, не знаю куда, найди то, не знаю что»

    imageЭкспертные системы, нейронные сети, исчисление предикатов, хорновские дизъюнкты, теоремы сходимости…
    Не знаю как у вас, у меня вся эта кухня вызывает восторг. Как замечательно, что компьютеры (конечно, наученные программистами, вооруженными серьезной математикой) могут хотя бы иногда приближаться к человеку по навыкам принятия решений. Особенно это хорошо у них получается, когда человек готов учить.

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

    Неуправляемое обучение, обучение без учителя
    Однако есть ситуации, и их довольно много, когда правильного ответа никто не знает. И даже непонятно что является ответом. И даже задача не вполне ясна. Есть только данные. Надо что-то полезное из них извлечь.
    Согласитесь, задача гораздо более интересная и дающая простор для фантазии?

    Обычно такие задачи формулируются как задачи автоматической классификации. На входе – много отдельных объектов (например, веб-страниц или историй болезни больных), на выходе – дерево групп таких объектов, где они аккуратно разложены по полочкам.

    image

    Вы скажете – бред? Что же делать, если непонятна задача и критерий оценки результата? Однако методы решения таких задач есть, и они довольно эффективно применяются.

    Один из такиз методов — самоорганизующиеся карты Кохонена (SOM, нейронная сеть Кохонена, алгоритм Кохонена кластеризации данных).

    Изначально все данные представлены как точки в некотором многомерном пространстве. Точка описана набором координат по осям, и этих координат обычно много (сотни и тысячи). Наша задача – выделить группы, связи, закономерности в этом неудобном многомерном облаке.

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

    image

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

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

    image

    Например, для двух- и трехмерной задачи это выглядит примерно так (обучение сознательно не доведено до конца, когда карта схлопывается в 2-3 сгустка):

    image

    Анализ и возможности
    После окончания процесса карта «расправляется» и полученные группы данных можно анализировать (методов и характеристик много).

    image

    Если потом в найденных кластерах выделить какой-нибудь целевой признак (например, по набору признаков черт лица определять пол человека), можно детальнейше проверять влияние каждого признака и их групп на результат: кластеризация превращается в инструмент анализа и принятия решений.

    image

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

    image

    Реализации и демонстрации
    Есть программа, в демонстрационных целях реализующая работу по обучению сети Кохонена на наборах точек в трехмерном пространстве.

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

    Скачать программу-пример

    Написано с применением OpenCV (Скачать, описание)

    Также сети Кохонена как один из инструментов анализа данных присутствуют во множестве специализированных программных пакетов.

    Методы анализа данных в условиях отсутствия учителя и четких критериев группировки широко применяются в задачах отбора признаков для анализа, понижения размерности, data mining.

    Что почитать по теме:
    По-русски
    1. Сети Кохонена
    2. Кластерный анализ
    На других языках
    3. www.cis.hut.fi/teuvo
    4. www.shef.ac.uk/psychology/gurney/notes/l7/l7.html
    5. www.len.ro/work/ai/som-neural-networks
    6. www.samhill.co.uk/kohonen
    Share post

    Comments 172

      +2
      Наверняка со мной многие не согласятся, но у меня перечисленная вами «кухня» вызывает одну ассоциацию — змеиное масло. Именно потому что и красиво звучит, и много умных слов, и обещаются золотые горы — а на практике похоже все не так радужно. Подчеркиваю, я плохо знаю эту область ИИ и вполне могу ошибаться. Но тем не менее у меня сложилось устойчивое мнение об этой области, и буду только рад если вы меня переубедите.

      Я уверен что для приведенных вами задач вполне реально создать рабочий алгоритм, без всяких нейронных сетей, который будет работать быстрее, точнее, проще, и более гибко.
      Возьмем задачу с кластеризацией точек на плоскости (первый рисунок). Вы говорите что задача непонятна, а критерий оценки неизвестен — но это не так. И критерий, и задачу, и решение вполне можно формализовать. А значит и получить алгоритм.
      Затем вы говорите что точно так же можно обработать веб-страницы и истории больных. Но я подозреваю что сначала веб-страницы приведутся к форме, подобной задаче кластеризации точек (приведутся обычными, не ИИ алгоритмами), а потом уже обработаются методами ИИ.
      Вы можете пример конкретной задачи, которая легко решается нейронными сетями, и очень трудно — обычными средствами? Подчеркиваю, конкретной задачи, т.е. не абстрактная «кластеризация данных», а например «есть данные A и B, на основании этих данных получить C».
        0
        100% — правда. А особенно начинает бесить, когда в описании какой-то программы читаешь что, дескать, «применялись алгоритмы близкие к искусственному интеллекту» — начинаешь разбираться, а что ж такого хитрого сделали — и оказывается что либо сортировку умную написали, либо архитектура неплохая, либо пару защит от дурака поставили — т.е. ничего близкого к ИИ нет — просто хорошо написанный алгоритм. А от него до ИИ — как от инфузории туфельки до человека разумного.
          0
          Согласен. В настоящее время написано масса алгоритмов, которые подражают человеку: один в шахматы играет, другой картинки распознаёт, но во что-нибудь целое никто так и не смог всё это собрать.

          На данный момент самый лучший «ИИ» — это здоровый мозг человека, но он слишком долго обучается.

          Бытует мнение/гипотеза, что проблема в том, что для человеческого мозга единица информации — это образ, а не бит. Как именно оперирует — малопонятно. И, как следствие, на данном этапе развития технологии компьютеров реализовать ИИ считается весьма проблематичной. Это больше напоминает «слепого конёнка» — придумываем новые алгоритмы имитации простейших движений развитого интеллекта применительно к очень частным случаям, не понимая, как оно работает в целом. И так мыкаться, не разобрав мозг по запчастям, можно очень и очень долго
            0
            Проблематично потому что компьютер выполняет операции ПОСЛЕДОВАТЕЛЬНО.
            НС же это РАСПАРАЛЛЕЛЕННАЯ обработка информации (как и в человеческом мозге). А так называемые «образы» о которых вы говорите это совокупность весов группы нейронов.
            В НС как раз информация хранится не в битах, а в «образах».
              0
              В некотором роде — верно говорите, но НС так до сих пор и не стало «ИИ», видимо в чем-то ошибка, не так ли?

              Во-первых, в компьютере нет параллельных процессов, исключая множественные ядра (и те, можно считать, псевдопараллельные), все операции идут через прерывания. Кто знает как _именно_ параллельные операции внутри мозга перекрываются, работая на одном «ядре»?

              Во-вторых, образ (как единица) — это не только эмуляция цифрового изображения, как в случае НС, но и восприятие ситуации, которое меняется со временем — это те же чувства. Вы это можете в НС осуществить?

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

              И, прошу, не надо кричать.
                +1
                Ошибки нет. В голове человека ~100 млрд. нейронов. На сегодняшний день развития технологий вероятно нет возможности собрать сеть их 100 млрд. нейронов, но даже если и есть то нет смысла по одной простой причине какую структуру строить? Хаотическую сеть? Если сделать хаотическую сеть, то какой алгоритм обучения применить? Пока на данном этапе развития технологий нет возможности реализовать такой проект.
                  0
                  >> Ошибки нет. В голове человека ~100 млрд. нейронов

                  приуменьшили — 200 млрд. Но в коре БП сколько их у нас? (которое, собственно, и отвечает за сознание)

                  >> Хаотическую сеть? Если сделать хаотическую сеть, то какой алгоритм обучения применить?

                  Вот в том-то и дело. Не смотря на интересные труды видных математиков (уж моё это дело), я не считаю что хаос можно описать нашей примитивной математикой. Именно из-за ограничений нашей математики и появились такие правила, как «на ноль не делить», «иррациональные числа» и пр.

                  В математике (сверхточной науке) не должно быть таких вещей как «аксиома» и «исключения подтверждают практику» иначе оно становится фанатичной религией. И именно поэтому (со сторонней стороны) я и считаю, что математикой разум не описать, а математика — это алгоритм и готовые формулы. Взаимосвязь разума и того, чем его мы считаем, ИМХО, значительно сложнее.

                    0
                    Интересная мысль про аксиомы. Задумался…
                      +2
                      Внутри самой математики тоже об этом задумываются. В зависимости от таланта переводчика формулировки могут выглядеть как запутанный юридический документ, а могут придавать высказыванию дополнительный философский смысл. Хорошая (с точки зрения русского языка) формулировка теоремы Геделя звучит так: «Непротиворечивая теория неполна».

                      P.S. когда будете задумываться, учтите, что если мы будем строго следовать Постулату: «В математике (сверхточной науке) не должно быть таких вещей как «аксиома»...» то мы просто заменим имеющиеся аксиомы на другую аксиому (на Постулат). ))) В таком категоричном виде это высказывание всего лишь эмоции. Претензии справедливы, но таким путем их не решить.

                      0
                      Остальные тоже не личние они преобразовывают входные сигналы в понятные для могза.
                        +1
                        Именно из-за ограничений нашей математики и появились такие правила, как «на ноль не делить», «иррациональные числа» и пр.


                        Это не ограничения, это ее фундаментальные свойства. Ну только если вам позарез хочется разделить что нибудь на ноль :)
                          0
                          Как это «не должно быть аксиом»? Математика есть математика, они не имеет бесконечной глубины, как, скажем, физика, где всегда можно углубиться по крайней мере в две стороны: микромир, и космологические масштабы. Никаких эмпирических опытов, никакой реальности, только абстракция.

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

                          1) определяется система аксиом;
                          2) на этих аксиомах по з.мат.логики делаются выводы.

                          То есть возводится теория…

                          Часто теория не отвечает какой-либо практике, реже соответствует физике какого-либо процесса. Скажем, периодические процессы в электрических цепях переменного тока удобно (вот просто повезло) описываются иррациональными числами. Ну и что? Там можно сходу три равноценных способа записи выделить.
                          0
                          Технические возможности есть: просто будет неоперативная обработка. Но это и не важно: нужно же хотя бы принципиальный ответ «да», что это возможно. Так вот такой ответ никто не может дать именно потому, что дальше подобных задачек дело продвинулось, но очень недалеко. Классификация или кластеризация по заданному критерию — это пожалуйста, а когда вообще не знаем, что хотим получить («вот данные эксперимента — выдвинь теорию, ПК») — вот тогда и начинается затык.
                            +1
                            > Ошибки нет. В голове человека ~100 млрд. нейронов. На сегодняшний день развития технологий вероятно нет возможности собрать сеть их 100 млрд. нейронов…

                            Интересно (без всякого стеба. я про нейросети слышал только краем уха), есть ли параллель между человеческим и НС-ным «обдумыванием» задачи. Насколько я понял, в нейронных сетях время, затрачиваемое на «проход» (пересчет коэффициентов и выдачу результата, при получении данных на вход), не зависит от входных данных. Тем не менее человек решает некоторые задачи за пару минут, на другие же уходят дни и недели.
                              0
                              Это только проход. Он не гарантирует решение задачи, он дает только результат обработки данных. Уровнем выше из этих результатов должны приниматься решения, которые будут определять, считать дальше или нет.
                                0
                                Этот «уровень выше» существует, если рассматривать НС как метод решения некоторого класса задач. Меня же больше интересует НС как модель работы человеческого мозга (см. пост m007 о том, что «ошибки нет». Казалось бы, увеличиваем количество нейронов до 20млрд, обучаем несколько лет и наш железный друг начинает постить статейки на хабр).

                                Попробую перефразировать вопрос. Если для НС понятие сложности задачи (при неизменности количества входов и выходов)?
                            0
                            Проект Blue Brain. Создание биологически достоверной модели кортикальной колонки (в перспективе всего мозга): bluebrain.epfl.ch/

                            ЗЫ А тут небольшое описание на русском: fregimus.livejournal.com/32093.html
                        +3
                        Вы слишкоммногого хотите от ИИ. ИИ уже давно разделился на две категории — «сильный ИИ», это когда комп должен действовать как человек, что изначально от НС, например, и ожидалось. А вторая категория — «слабый ИИ», куда входят обычные алгоритмы типа поиска пути, методы глобальной оптимизации (типичный пример — генетический алгоритм или метод роя частич). Мне вот, например, кажется, что «слабый ИИ» лучше вообще ИИ не называть, а то уж больно много на этом спекуляций.
                        +2
                        Распознание текста.
                          –4
                          Недавно тут проскакивала ссылка на «нейронную сеть» на javascript для распознания капчи. Так вот там в коде был жестко задан большой массив весовых коэффициентов. Насколько я знаю, вычисление этих весов — и есть основная задача сети, а она там была уже решена, но суть не в этом. Я не знаю что на самом деле обозначают эти веса, но могу предположить что их смысл приблизительно в следующем: если пиксель (х, у) — темный, то есть вероятность P того что первая буква — 'А'. Смотрим вероятности для каждого пикселя и каждой буквы, и находим буквы с максимальной вероятностью. Если оно действительно работает подобным образом — то я очень разочарован в нейронных сетях.
                            +3
                            Примерно подобным образом работают однослойные сети, и в них разочаровались задолго до Вас (конкретнее, Марвин Мински в 1969). Многослойные же сети могут моделировать гораздо более сложное поведение, но в то время их не умели обучать. Когда был придуман алогритм для их обучения (обратное распространение ошибки) — это был прорыв в области ИНС.
                              0
                              Оказывается я пропустил более подробное описание алгоритма: habrahabr.ru/blogs/javascript/50316/
                              Скажите, тут что действительно многослойная сеть?

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

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

                                Может дело в том, что биохимия работает параллельно на миллиардах нейронах и их связях, а даже самые продвинутые процессоры работают последовательно? Считая тормознутость биохимии в 3 порядка, миллиард естественных нейронов это 1 млн процессоров — по-моему таких кластеров для НС не создавалось, всякие SETI это «тупые числогрызы»
                                  0
                                  Примерно тоже самое говорили и 30 лет назад. Только в естественных мозгах так и не нашли механизма с помощью, которого ошибка могла бы распростроняться обратно по сети. Следовательно, способ обучения натуральных сетей кардинально иной — используется только прямой сигнал.

                                  Что же до отсутсвия «кластеров для НС» причина проста: наращивание размера сети имеет смысл только до некоторого предела, если его превысить качество классификации не вырастет, только замедлится процесс обучения.

                                  Например, для сетей с обратным распространинием ошибки и задачи распознавания цифр, на практике всегда наблюдается минимум 1.5-2.0% ошибок, какой бы сложной сеть не была. В тоже время, эти два процента ошибочно распознаных цифр без проблем распознаются человеком.
                                    0
                                    Хотелось бы еще отметить, что для реализации нейросетей существуют узкоспециализированне аппаратные решения. И вот при использовании таких элементов, сиситемы получаются довольно компактными и мощными.
                                      0
                                      Тут контекст задан «вот тебе задача, надо найти решение даже если решение неизвестно». Но при этом подразумевается что решение есть, и его таки зачем-то надо обязательно искать.

                                      А так на людей окружающих посмотишь… Они же нифига решений не ищут. Они живут, кто в кайф, кто еще как — но просто живут. И не ищут решений.
                                      А если впихнуть человека в модель «задача-решение», как в каких-нибудь шахматах — то компьютер быстро начинает побеждать.

                                      Вывод: нужно менять контекст.
                                +5
                                нет, оно не так работает.

                                нейронная сеть вычисляет нелинейную функцию от многих аргументов. в процессе обучения происходит подбор параметров этой функции.
                              0
                              Ну вот, например, у вас огромная куча веб-страниц в обычном html, без всяких перегонов в xml и т.п. Требуется разбить их по классам тематик, возможно пересекающихся, чтобы при добавлении новой посмотреть к каким классам эта новая более близка (т.е. к каким страницам она более близка тематически).

                              Понятно, что можно написать отдельный механизм для решения такого рода задачи, но он на 95% будет неявно использовать что-то подобное (не обязательно это, но то же что-то из области автоматического обучения или смежной с ней).
                                –1
                                Поразительно! Я именно этим сейчас и занимаюсь. Но без нейронных сетей. Опять-таки повторю, что я плохо представляю, как именно это будут делать нейронные сети, но подозреваю что для того чтобы достигнуть качественного результата нейронной сети понадобится немалый вычислительный кластер.
                                Если добьюсь каких-то вменяемых результатов — может напишу небольшую статью.
                                  +11
                                  А откуда вы знаете, что не используете ничего из области ИИ и, в частноти, нейронных сетей, если вы про это ни сном ни духом, как вы выше указали? :)

                                  Врядли папуасы подозревали, что пользуются законами Ньютона, когда сбивали палками бананы с пальм :)
                                    0
                                    здесь вспоминается «10-е правило Гринспуна» :))
                                    0
                                    Вы правы, НС — не панацея, как их иногда любят выставлять. Есть множество методов, которые для определённых задач работают лучше/быстрее, чем НС. Более того, НС без обратных связей принципиально не отличается от стандартных статистических моделей (так утверждает профессор по machine learning из небезызвестного университета Эдинбурга: pdf, стр. 11, второй абзац).
                                      0
                                      НС без обратных связей — это по сути просто аппроксимация какой-то функции специфическим методом.
                                      Похоже, чтто НС применяют тогда, когда не знают как по-другому решить задачу.
                                        +1
                                        Или не знают, или некогда/не выгодно разрабатывать специализированный метод.
                                        "Using standard tools, a reasonable solution can be obtained in a reasonable amount of time" — 95% достоинств НС.
                                  0
                                  НС активно используются в физике высоких энергий. Есть еще такая вещь как управляемая термоядерная реакция, где именно нейронные сети идеальный кандидат для управления.
                                    –3
                                    Да я же не спорю что НС где-то как-то используются. Мне нужна конкретика.
                                    Я не сомневаюсь что они приносят пользу, я лишь ставлю под сомнение оптимальность используемых в них алгоритмов. Массив на миллион элементов можно отсортировать пузырьком, но стоит ли?
                                      0
                                      В нейронной сети нет понятия алгоритма. Нейронные сети не работают по алгоритму!
                                        0
                                        Вот именно такие высказывания и подтверждают мою точку зрения. Это все равно что сказать «орк в варкрафте не двигается по алгоритму, он думает куда пойти и идет!».
                                        Нейронные сети реализуются программно, т.о. результат работы нейронной сети — это результат работы программы (алгоритма).
                                          0
                                          По алогоритму НС могут только обучаться, также как и человеческий мозг обучается по алгоритмам.

                                          НС не занимаются выполнением операций. Там нет понятия действия как в алгоритмах, и тем более нет порядка выполнения этих действий. НС принимают на вход информацию, а на выходе дают сигнал (с одного или нескольких выходов).
                                            –2
                                            Так именно в обучении нейронной сети и состоит основная задача, не так ли? Сумматор сделать как раз несложно (кстати он тоже работает по алгоритму). Или будем считать что сумматор обладает интеллектом?
                                              +1
                                              Если человека не обучать он тоже не будет обладать интеллектом. Человек обучается когда взаимодействует с внешним миром (в мозг поступает информация световая, слух, осязание, тактильная). Если мозг перестанет получать эту информацию из внешней среды он не сможет развиваться и будет не более чем просто набор нейронов. НС обучаются точно также из внешнего мира на входы подается информация.
                                                –3
                                                Я о чем говорю — что основа нейронной сети — это в любом случае алгоритм. Если убрать алгоритм обучения, то останутся только бедные сумматоры, которые сами по себе никаким интеллектом не являются.
                                                  +1
                                                  А если прекратить обучение 1 месячного ребенка и больше не обучать никогда, т.е. прекратить подачу информации, как думаете что будет? Или мозг новорожденного по развитости сравним с интеллектом Энштейна? Именно многолетнее обучение и поступление информации из внешнего мира развивает интеллект. У многих людей ставящих фундаментальные задачи перед собой уходят годы на решение (а в реальности у них формируются весовые коэффициенты нейронов) и спустя многие годы они находят решения, а иногда и не находят.
                                                    –4
                                                    К чему вы это пишете? Вы написали что в НС нет понятия алгоритма, я возразил что наоборот, алгоритм является основой НС, попытался привести аргументы. Либо согласитесь со мной, либо аргументируйте свою точку зрения.
                                                      +1
                                                      Ключевое слово Сеть — у НС есть топология. Нейронная сеть состоит из множества однотипных элементов каждый из которых реализует мат. модель y = F(w1*x1 + w2*x2 +… + wn*xn). Все.

                                                      Если НС (мозг) не обучать (не давать входную информацию) то это будет просто набор нейронов не более. НС (мозг) без обучения бесполезны.
                                                      Обучение производят по алгоритмам или генетическим алгоритмам.
                                                        –4
                                                        Я всегда считал что обучение как раз заключается в вычислении w1, w2...wn, а у вас они откуда-то взялись изначально. Впрочем не важно. Мы с вами говорим о разных вещах и не понимаем друг друга. Пусть каждый останется при своем мнении, спор все равно бессмысленный.
                                                          +2
                                                          Все верно, обучение расчитывает весовые коэффициенты. Если проще то НС это сложная мат. функция куда на вход поступают аргументы X, а на выходе ответ Y. Так вот говорить что НС работает по алгоритму это все равно что сказать: функция параболы x^2 = y работает по алгоритму. После обучения НС можно посмотреть на ее поведение и составить приближенный алгоритм поведения но не более.
                                                            –3
                                                            Если желаете продолжить…
                                                            Функция параболы работает именно по алгоритму. Для любого входного значения х можно посчитать выходное у, по алгоритму х^2.
                                                            Что такое приближенный алгоритм поведения? Я четко знаю что подав на вход функции y=x^2 число 7, получу на выходе 49. Никаких приближений. Неужели вы хотите сказать что нельзя однозначно определить что даст НС на выходе при подаче какого-то значения на входе?
                                                            Или под приближенным поведением вы понимаете то что подав последовательно на вход одно и то же значение можно получить два разных результата? Так это не означает что алгоритма нет.
                                                              0
                                                              НС может иметь тысячи входов на первый слой и тысячи выходов на последнем. Однозначно описать поведение такой сети почти нереально. Потому что это Сеть из однотипных элементов, где на вход подали Сигнал и он по связям пошел от одного нейрона к другому с определенной скоростью распространения и так до последнего слоя. Каждый раз когда сигналы проходят через нейроны они изменяются с учетом весов и функции активации.

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

                                                              Допустим вы обучили сеть различать автомобили на фотографиях. Во время обучения было показано 100 картинок автомобилей и скорректированы веса.

                                                              После обучения сеть будет понимать 100 картинок по которым ее обучали + еще 1000 новых картинок по которым ее не обучали.
                                                                0
                                                                Если речь о feedforward сетях, то у них раздельные фазы обучения/распознавания. То есть вот это
                                                                Каждый раз когда сигналы проходят через нейроны они изменяются с учетом весов и функции активации.
                                                                к ним относится только в фазе обучения. «Поведение» сети — это уже скорее фаза распознавания, когда веса не меняются (повторюсь, речь об обычной многослойной НС).

                                                                Однозначно описать поведение такой сети почти нереально.
                                                                Так уж и нереально? Сеть прямого распространения с одним скрытым слоем:
                                                                Что здесь такого магического/непредсказуемого?

                                                                Однозначно описать алгоритмом поведение сети невозможно по причине что сеть может понимать входные данные которым ее раньше не обучали.
                                                                Да, обобщение данных сетью — штука слабо предсказуемая. Но это обусловлено только использованием случайных чисел при обучении сети. Обученная сеть однозначно описывается своими весами (см. формулу выше). А к обобщению способен даже простейший алгоритм "ближайшего соседа", интуитивная понятность которого напрочь исключает магию/непредсказуемость.
                                                                  –4
                                                                  Алгоритм был есть и будет. Раз НС реализуется на машине Тьюринга — значит алоритм можно описать.
                                                                  Когда меня пытаются убедить в том что алгоритма нет, или его невозможно описать, я вижу в этом только одну причину — алгоритм пытаются скрыть, потому что при подробном его рассмотрении окажется что он неэффективен. Потому я и назвал НС змеиным маслом.

                                                                  Теперь ваш пример с картинками. Почему НС всегда выставляют как очередную серебряную пулю? Почему никогда не говорят о том какие вычислительные мощности понадобятся для распознания этих 1100 картинок? Почему никогда не говорят что кроме дополнительной правильно распознанной тысячи картинок еще будет несколько тысяч неправильно распознанных?
                                                                  Я могу за пару минут написать программу которая «обучившись» на сотне картинок тоже «распознает» тысячу. Правда еще она несколько миллионов распознает неправильно, но ведь я могу забыть упомянуть об этом.
                                                                    +4
                                                                    Алгоритм-то есть, но вот сказать что именно он даст на выходе мы не можем. Известно как он производит вычисления, но не мы знаем что нам насчитает. Ключевое слово «мы». "Мы не знаем" и "мы не можем". Просто потому что вычисления сложные. Хотя бы в количественном плане.

                                                                    Единственный доступный способ узнать, что получится на выходе НС… это запустить НС.

                                                                    Но это относится не только к НС. Люди создали компьютеры, чтобы они посчитали за нас то, что мы сами посчитать не в состоянии.

                                                                    Для примера. Понятно как написать программу для вычисления 50-тысячного знака числа «пи» после запятой. Но мы не можем сказать какую цифру выдаст эта программа после вычислений. Алгоритм известен. Результат нет. Более того: алгоритм потому и появился, что мы не знали результат )))

                                                                    Когда создавали компьютерную программу для беспилотного полета «Бурана», отказались от задачи явно сформулировать алгоритм посадки. Слишком много факторов (температура, ветер, все это на разных высотах) нужно учитывать, люди бы задолбались сначала эти факторы учитывать, потом писать программу, потом вылавливать ошибки, потом вылавливать новые ошибки… Вместо этого они сочинили самообучающийся ИИ, выловили ошибки в реализации ИИ (это уже была вполне реализуемая задача), и начали скармливать ему данные. Результат служит ответом на вопрос можем ли мы точно предсказать результат работы ИИ.

                                                                    При заходе на посадку «Буран» сначала вел себя по плану (в том смысле как этот план понимали конструкторы), но в какой-то момент «Буран» начал подниматься и полетел в сторону от посадочной полосы. Конструкторы которые наблюдали посадку «с трепетом» переключились в режим «наблюдаем с ужасом». «Буран» же развернулся и выполнил посадку с противоположной стороны ВПП. При разборе записей выяснилось, что при снижении «Буран» обнаружил боковой ветер у земли и высчитал что безопаснее будет садится в другом направлении. И люди с ним постфактум согласились. Они бы сделали то же самое, если бы считали с той же скоростью.

                                                                  +1
                                                                  вы реально не в теме. учите матчасть, потом поговорим. прочитайте уоссермена «нейрокомпьютерная техника»
                                                                    0
                                                                    Ну, может он и не в теме, но из этой дискуссии я о НС узнал больше, чем из статьи. О сложных вещах простым языком узнавать — это великолепно.
                                                                      +1
                                                                      статья не о НС совершенно. описание метода кохонена как НС — только один из способов, и такая сеть предельно далека от НС как многослойных нелинейных преобразователей сигнала, backpropropagation и тому подобного

                                                                      статья о неуправляемом обучении и задаче автоматической классификации, понижения размерности с минимальной потерей смысла.
                                                                      –4
                                                                      Прекрасный ответ. То же самое мне говорят религиозные фанатики — ты сначала поверь, потом поговорим. Я не отрицаю что я не в теме, но «Физик, не умеющий объяснить шестилетнему ребенку, чем он занимается, — просто шарлатан». Так вот в области ИИ я вижу точно таких же шарлатанов.
                                                                      Я ведь немного прошу. Чтобы опровергнуть великую теорему Ферма, не нужно сложных доказательств, нужно просто привести числа для которых выполнится равенство. А чтобы доказать — понадобилось немало лет и сложных мат. расчетов.
                                                                      Я не прошу доказать что ИИ — панацея. Просто приведите конкретный пример где без ИИ не обойтись. Где только ИИ даст эффективное решение. Это опровергнет все мои утверждения.
                                                                        +1
                                                                        проблема в другом. вы не понимаете как многослойная НС прямого распространения сигнала работает. вы не знаете о феномене запоминания, обучения, распознавания заведомо неизвестных примеров и прочего.

                                                                        это целая индустрия, а вы тут такую ахинею пишете, что уши вянут

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

                                                                        никто не говорит что методы ИИ всемогущи и уникальны. внутри большинства из них работают алгоритмы, но сами решения в ряде случаев (НС, CART, генетические алгоритмы, индуктивный и дедуктивный вывод) принимаются не теми алгоритмами и формализмами, которые написал программист.
                                                                        система УЧИТСЯ а потом РЕШАЕТ

                                                                        примеров успешного применения таких систем сотни. откройте книгу Лорьера «ИИ» или Люгера (более современное издание) «Методы ИИ» и прочитайте. в каждой главе будут множества упомянутых внедренных систем.

                                                                        еще раз говорю, разделять ИИ и не-ИИ в диалоге с вами, пока вы не перестанете сыпать глупостями, я не буду
                                                                          –2
                                                                          > проблема в другом. вы не понимаете…
                                                                          Перечитайте цитату о физике. И то что я писал о религиозных фанатиках.

                                                                          >это целая индустрия, а вы тут такую ахинею пишете
                                                                          >примеров успешного применения таких систем сотни

                                                                          Еще раз повторю, я не отрицаю что НС используются и приносят пользу. Я утверждаю что для любой задачи решаемой НС, можно разработать алгоритм который будет эффективнее. Если это не так — это же элементарно опровергнуть. Приведите КОНКРЕТНЫЙ пример где это невозможно — и я заткнусь! Все мои аргументы рассыпятся в пух и прах!
                                                                            +2
                                                                            ну например, определение пола человека и идентификации личности человека по фотографии в определенной позе

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

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

                                                                            где ваши алгоритмы?
                                                                            вы тут же скажете, что просто алгоритма пока нет и лично вы не готовы его сформулировать — что ж, аргумент в духе юных коммунистов-демагогов
                                                                              –2
                                                                              Не надо хамить и отвечать за меня, может вы знаток ИИ, но к телепатии у вас точно нет склонностей.

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

                                                                              Итак, всё нижеперечисленное относится к стандартным алгоритмам:
                                                                              1. Можем ли мы выделить на фотографии лицо человека? Вполне. Даже фотоаппараты с этим справляются, хотя там конечно могут использоваться нейронные сети, ну да ладно. Думаю вы не будете отрицать что выделить лицо на фотографии реально без НС.
                                                                              2. Можем ли мы на лице выделить определенные части (нос, рот, глаза, брови, и т.д.)? Вполне. Опять-таки, нахождение и выделение частей лица — задача не самая тривиальная, но вполне решаемая.
                                                                              3. Можем ли мы выделив части лица, посчитать какие-то параметры этих частей (размер, цвет, координаты, форма и т.д.). Легко! Уж что что, а такие вещи наши алгоритмы решают прекрасно.
                                                                              4. Можем ли мы составить базу этих параметров и базу личностей, в которой сопоставить каждой личности определенный диапазон этих параметров. Конечно!
                                                                              5. ???
                                                                              6. PROFIT

                                                                              А теперь у меня вопросы к вам. Настолько ли вы уверены в своей правоте, что готовы гарантировать что в распознании лиц от MS, Apple и Google основой являются нейронные сети?
                                                                              Используются ли нейронные сети для определении лица в фотоаппаратах? Я не знаю, и мне правда интересно.
                                                                                0
                                                                                1-2-3 решается средствами ИИ (пресловутые НС, SVM, N-N и прочее). Вы просто не сможете ззапихнуть в базу (да и насколько это будет эффективно) все мыслимые параметры и сравнивать их с тестовым. Оптимизация данной задачи как раз и будет ИИ.

                                                                                Насчет Эппл не знаю, но в Microsoft, Google и Yahoo без специалистов машинного обучения и ИИ мало какой проект обходится.
                                                                                  –1
                                                                                  Мне надоело повторять одно и то же. Я не отрицаю что есть проблемы которые решаются средствами ИИ. Я говорю что эти проблемы можно решить более эффективно другими средствами.

                                                                                  И я не спрашивал есть ли в компаниях специалисты по ИИ. Я спросил являются ли НС основой в конкретных продуктах для распознания лиц.

                                                                                  Не обижайтесь, но мне этот спор действительно стал напоминать религиозный.
                                                                                    0
                                                                                    Вот задача распознавания текста решена на основе НС: herecomethelizards.co.uk/mu_captcha/

                                                                                    Вот Ваши слова:
                                                                                    > Т.е. если я напишу более эффективный алгоритм (без НС), это убедит вас в том что НС не являются эффективным решением для распознания текста?

                                                                                    — Решите эту задачу алгоритмически, эффективнее чем это сделано на базе НС.
                                                                                    Я же вижу решение на базе НС, которое работает быстро даже на Javascript.
                                                                                    Коды открыты, по сути только осталось вам реализовать алгоритм распознавания текста. Докажите свою точку зрения.
                                                                                      –1
                                                                                      Теперь я спрошу у вас. Если вам привести более эффективное решение для данного случая, будет ли это для вас достаточным аргументом, чтобы считать что НС не является правильным выбором в задаче распознания текста? Или для вас это будет означать только то, что в данном конкретном случае НС облажалась, но в другом месте она может оказаться более эффективной?
                                                                                      0
                                                                                      если Вы можете решить данные задачи более эффективно, то, пожалуйста, пробуйте.

                                                                                      Реальность (в лице огромного штата сотрудников не самых плохих компаний) пока Вам в этом проигрывает.
                                                                                    0
                                                                                    1. Можем ли мы выделить на фотографии лицо человека? Вполне. Даже фотоаппараты с этим справляются, хотя там конечно могут использоваться нейронные сети, ну да ладно. Думаю вы не будете отрицать что выделить лицо на фотографии реально без НС.

                                                                                    попробуйте. серьезно говорю, попробуйте. напишите алгоритм, закодируйте, а я вам фотки буду поставлять. задача не так проста.
                                                                                    2. Можем ли мы на лице выделить определенные части (нос, рот, глаза, брови, и т.д.)?

                                                                                    не буду издеваться, но алгоритмически нос путина от уха буша на большой фотографии вы долго будете отличать. не исключено, что сможете, но задача сложна
                                                                                    один мой приятель защитил кандидатскую как раз по задаче ПОИСКА лиц на фотографии. чтобы руки и пузо не попали, а лица попали. фото с разных аппаратов и даже сканов
                                                                                    3. Можем ли мы выделив части лица, посчитать какие-то параметры этих частей (размер, цвет, координаты, форма и т.д.). Легко! Уж что что, а такие вещи наши алгоритмы решают прекрасно.
                                                                                    4. Можем ли мы составить базу этих параметров и базу личностей, в которой сопоставить каждой личности определенный диапазон этих параметров. Конечно!

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

                                                                                    >> MS, Apple и Google
                                                                                    я там не работаю, и гарантировать за них не буду. но направления и возможности современного ИИ и инженерии знаний я себе представляю достаточно полно, и четко вижу что задача явно неалгоритмической природы
                                                                                    есть ли приличные ее решения без методов ИИ — не знаю, но предполагаю, что для хорошего результата — нет

                                                                                    что касается плохого результата, то легко себе представить нечеткий алгоритм поиска любых овалов с заданным диапазоном hue/saturation/value (известно, что любая кожа человека имеет примерно одинаковые значения одного из показателей цвета в этой шкале), где есть равнобедреный треугольник (глаза-рот), ориентированный примерно вертикально. но это будет тупой алгоритм, и результаты будут соответствующими
                                                                                      +1
                                                                                      В фотоаппаратах Nikon нейронная сеть использовалась при решении задачи, которая со стороны кажется более простой чем распознавания лица (по крайней мере появилась в фотоаппаратх Nikon раньше лет на 10). Зеркалки Nikon вычисляют выдержку и диафрагму не только на основании того, что видят в данный момент («вижу 7, выдаю 49»), но и с учетом некоей базы удачных снимков, сделанных другими людьми в разнообразных ситуациях. Сама база подбиралась человеками и человеки же определяли плохой снимок или хороший. Нейронная сеть сделала из этих данных некий набор коэффициентов, который теперь запихивается в топовые фотоаппараты Nikon и учитывается скудоумным мозгом фотоаппарата при расчете экспозиции.

                                                                            0
                                                                            Ваш оппонент местами порет чушь :) Наверное непреднамеренно, а просто слегка путая причину со следствием. Конечно, сама сеть работает по алгоритму. В принципе, из обученой сети даже можно выделить алгоритм. В случае не очень сложных сетей его можно даже интерпретировать каким-нибудь осмысленным образом. Речь скорее о другом — когда задача настолько сложна, что для её решения не получается подобрать/придумать/изобрести формализованый алгоритм, есть ещё возможность попробовать применить для решения нейросеть. Есть вероятность, что это сработает. Для каких-то классов задач более вероятно, для каких-то менее.
                                                                              –2
                                                                              Я это прекрасно понимаю. Потому и прошу привести мне пример такой задачи. Я убежден, что вместо того чтоб тратить деньги на разработку НС для решения этой задачи, выгоднее будет потратить деньги на разработку алгоритма. И если это не так — разубедить меня очень просто. Но никто не хочет. Проще сказать что я ничего не понимаю и поставить минус. Ладно, пусть будет так.

                                                                              Только не надо говорить что алгоритм не смогли найти, поэтому решили попробовать НС. Если есть формализованная задача — уже есть половина решения. А если нет четкого условия задачи — значит и решать нечего. Это прекрасно отражено в заголовке статьи — «пойди туда, не знаю куда, найди то, не знаю что».
                                                                                0
                                                                                программы для классификации звуков (музыка vs голос — для радио, мужской vs женский голоса), вождение автомобиля, управление вертолетом, распознавание цифр (почта для автоматической сортировки по индексам).

                                                                                Это все готовые завершенные проекты, которые доказали свою предпочтительность детерминистким подходам.
                                                                                  0
                                                                                  просто НС можно, точнее даже нужно, рассматривать как очередную парадигму программирования. Та же проблема, обозначенная в статье, может быть решена методами обычного кластерного анализа. Вопрос в другом: насколько обоснованное применение того или иного метода (ИНС vs Статистика) в той или иной задаче. К преимуществам нейронной сети в данном случае относятся: простота реализации, меньшая вероятность ошибки (так как ошибка одного нейрона компенсируется правильной отработкой кучи других нейронов данного и последующих слоев), а про скорость обработки уже писали — быстрее, если делать «настоящий» параллелизм и несколько меннее быстрый в ином случае
                                                                                  +1
                                                                                  За минусами — это не ко мне :)
                                                                                  Примеры… Ну, я давно отстал от этой жизни, но простой запрос в любой поисковой системе выдаёт кучу ссылок. Извините, сделать для вас обзор состояния дел в этой области сейчас не могу — некогда просто.
                                                                                  Что касается задач… Ну, сколько раз уже пытались вам подсказать — задача распознавания. Даже самая простейшая в виде OCR. Не знаю современного состояния, но несколько лет назад в этой области активно использовались НС. Задача вполне формализования, чего вым ещё надо-то? Половина решение? Ну-ну! :) Не так всё просто.
                                                                                  Заголовок… как заголовок. Обычная задача классификации. Вам такие не встречались? Ну, кроме как о том, что вы в этой области, похоже, не разбираетесь, больше сказать об этом нечего. Задача как задача. Решается не только такими нейросетями и не только нейросетями вообще. Уже хотя бы то, что для этой задачи существует несколько подходов к решению, говорит о том, что задача впролне востребована и решают её разными способами и «классический» из них не обязательно «оптимальный».
                                                                      0
                                                                      Навязывается вопрос, а сколько «входящих чувств» у обычной НС? Можно научиться загонять в неё ту информацию чувств/органов (например, текущее сердцебиение), которую и сам не понимаешь или не замечаешь? — ведь тут и правдивый алгоритм почти нереально написать (опять оставляю за собой лазейку).

                                                                      Вы на самом деле уверены, что нейронные сети из себя представляют будущее в плане ИИ, в условиях того, что они «законсервированы» во входящих потоках информации, принципиально не могут иметь понятия о «хаосе» и не могут иметь эмоций («избыточных» входящих потоков информации)?

                                                                      Да, по сравнению с ними, и крысы на пару тройку порядков в IQ впереди. И так оно и останется, поскольку ограниченность существующих стандартных IT не позволит воспринимать программой произвольную информацию «из вне» для самообучения. И НС тут никак не помогут.

                                                                      Я бы сравнил текущие ИИ с детьми-олигофренами — не воспринимают ничего и скоро умрут. Текущий распространённый поход ничего, ИМХО, не решит.

                                                                      И, просто наболело, я уже перестал считать математику наукой.
                                                                        0
                                                                        НС законсервированы настолько же насколько законсервированы мы. Всю информацию которую получаем мы, могут получить и нейронные сети. Они могут получить на вход информацию из ультразвукового диапазона и мгновенно принять решение.
                                                                        НС уверен это будущее ИИ, но не на устройствах с последовательной обработкой информации.
                                                                          0
                                                                          Многие наши ощущения мы называем «шестыми», поскольку редко не можем дать им объяснения (именно даже объяснения, а не факты). И чему же вы собираетесь научить этот «логический аппарат», когда даже сам человек не понимает почему он «это делает»?

                                                                          >> но не на устройствах с последовательной обработкой информации.

                                                                          Полностью согласен. Это камень преткновения.
                                                                            0
                                                                            >Многие наши ощущения мы называем «шестыми», поскольку редко не можем дать им объяснения (именно даже объяснения, а не факты). И чему же вы собираетесь научить этот «логический аппарат», когда даже сам человек не понимает почему он «это делает»?

                                                                            Если оставаться в рамках преобладающего научного мировоззрения (не удаляясь в метафизику, астралы и пси- и ноосферы), то «шестое чувство», «интуиция» и т. п. это результат подсознательного анализа динамики изменения (предшествующий опыта) и текущего состояния «входных цепей». А реализация и обучение НС это, имхо, и попытка разобраться как этот анализ происходит, поскольку снять «дамп» в искусственной НС несколько проще, чем в естественной :) Другими словами, научим «логический аппарат» и узнаем почему человек «это делает» ;)
                                                                            0
                                                                            >> Они могут получить на вход информацию из ультразвукового диапазона и мгновенно принять решение

                                                                            Вопрос на раздумье: сколько операций выполняет мозг человека за части секунды, когда этот человек подкидывает теннисный мячик и ловит его рукой с закрытыми глазами, только поймав момент, когда тот находится в «пред-апогее» и «апогее»?
                                                                              +2
                                                                              > сколько операций
                                                                              вопрос не корректен в контексте НС
                                                                0
                                                                понятие алгоритма само по себе достаточно размыто.
                                                                в общем случае, алгоритм определяет детерминированную последовательность действий (операций). или зависимость одних действий от других.
                                                                разумеется, вообще все явления, которые существуют во времени и влияют друг на друга, можно рассматривать как алгоритм, потомучто это последовательность действий.

                                                                нейросеть же моделирует именно непоследовательные действия.
                                                                то, что оно реализуется на пошаговом железе, сути не меняет.
                                                                нейросеть реализует многомерную функцию.
                                                                функция сама по себе — не является алгоритмом.
                                                                вычисление её значения — может быть реализовано пошаговым алгоритмом.
                                                                а может быть и как-нибудь по другому.
                                                                –1
                                                                «Выполняется перебор всех точек данных, для каждой находится ближайшая точка сети и вся сеть немного подтягивается к этой точке. Сеть тянут за тот нейрон, который оказался ближе к точке данных. Чем дальше от лучшего конкретный нейрон, тем меньше его перемещение»
                                                                Если это не алгоритм, то что это?
                                                                  0
                                                                  Это алгоритм обучения. Головной мозг также обучается по алгоритмам как и НС.
                                                                    0
                                                                    Тоже верно, но эти алгоритмы называются «социальное поведение» или иначе «воспитание». Это наведённое понятие, не это является интеллектом. Каждый придумывает себе привычки чтобы облегчить себе жизнь и не страдать принятием решения в той или иной ситуации каждую минуту. Но, ведь, не это разум.
                                                                    0
                                                                    суть нейросети не меняется, если обучать её всем точкам одновременно. алгоритмическое обучение связано с ограничениями реализации.
                                                                    +1
                                                                    Чушь. Они накапливают данные по готовому алгоритму, иначе бы из нельзя было запрограммировать на любых известных мне языках (оставляю себе лазейку, на всякий пожарный :) )

                                                                    А, как я говорил выше, алгоритм — это не мысль, это рефлекс.
                                                                –1
                                                                В общем что я хочу сказать — то что НС не решает задач сверх того класса что решает машина Тьюринга — доказано, и вполне очевидно (НС реализуется на машине Тьюринга, а машину Тьюринга можно реализовать на НС).

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

                                                                До сих пор я не видел ни конкретной задачи, ни доказательства, поэтому считаю НС — змеиным маслом.

                                                                Я вовсе не против изучения и развития этой области ИИ, возможно это поможет лучше понять как работает мозг человека, будет полезно для общего развития и т.д. Но до тех пор пока я не увижу задачи, для которой ИИ является лучшим средством решения — я считаю использование ИИ для решения таких задач неоправданным.
                                                                  +1
                                                                  Поэтому я прошу показать мне конкретную задачу для которой решение на НС будет по каким-то параметрам лучше чем решение на обычном языке программирования, обычными алгоритмами. Желательно с готовой реализацией на НС, так чтобы можно было написать свою реализацию, и сравнить их.


                                                                  herecomethelizards.co.uk/mu_captcha/

                                                                  Здесь обе реализации уже написаны, исходные коды открыты. Впрочем, ничего не мешает написать свою, третью реализацию.
                                                                    –2
                                                                    Т.е. если я напишу более эффективный алгоритм (без НС), это убедит вас в том что НС не являются эффективным решением для распознания текста?
                                                                    Или это убедит вас только в том что НС не является эффективной в данном конкретном случае?
                                                                      0
                                                                      а вот это кстати, было бы интересно!
                                                                      взять слабоформализуемую или просто достаточно сложную задачу и решить её на НС и алгоритмически.
                                                                        –1
                                                                        Да, у меня давно есть идея, провести такой конкурс. Только соревноваться должны не пара человек, а большие группы, значит надо это дело хорошо пропиарить и сделать вменяемых размеров призовой фонд. Впрочем, если какие-нибудь «стартаперы» сделают что-то подобное — я буду только рад.
                                                                        0
                                                                        Каков ваш критерий эффективности? Если эффективность означает решение задачи здесь и сейчас — то эффективно. Если же вы под эффективностью подразумеваете возможное решение задачи в неопределённом будущем, то, конечно же, НС не эффективны :).
                                                                          –1
                                                                          Мои критерии эффективности — любые. Точность, скорость, время разработки, простота алгоритма, переносимость…
                                                                          «Здесь и сейчас» — можно сравнить время потраченное на разработку обоих решений. Решение с НС ведь не с неба свалилось, его тоже сначала разрабатывали. Хоар ведь зачем-то придумал быструю сортировку, хотя здесь и сейчас можно было сортировать пузырьком, например.
                                                                          0
                                                                          Второе.
                                                                            –2
                                                                            И получается что даже если я напишу более эффективное решение — вы скажете «ну да, здесь НС облажались, зато в другом месте они незаменимы». Я напишу решение для «другого места» — в скажете то же самое. И так до бесконечности.
                                                                              +1
                                                                              Вы абсолютно правы.
                                                                                –2
                                                                                Вы сами себе противоречите.
                                                                                Я только что заявил что для любой задачи к-я решается средствами НС, есть более эффективный алгоритм без применения НС. Вы со мной согласились.
                                                                                До этого я попросил привести задачу где НС будет эффективнее чем любой другой алгоритм — вы сказали что это распознание текста.
                                                                                Я все больше и больше убеждаюсь в том, что НС — это религия. Зря я ввязался в этот спор.
                                                                                  0
                                                                                  слова «распознание» в русском языке нет. это называется «распознавание»

                                                                                  вы действительно зря ввязались в этот спор, потому что ваши познания и уровень владения предметом, увы, недостаточны для аргументированной дискуссии.

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

                                                                                    Насчет моих познаний — не нужно быть поваром чтобы понять что блюдо плохо приготовлено.

                                                                                    Я точно так же могу сказать что вы не можете трезво рассуждать о теме разговора, т.к. вы потратили много лет на изучение этой области, и вы просто не в состоянии принять то, что ИИ — мистификация. Спасибо за минусы и увлекательную беседу, благодаря вам я еще больше убедился в своей точке зрения.
                                                                                      0
                                                                                      ну что вы. просто странно было дискутировать с человеком, который мало что знает, зато отчаянно упирается. обычно люди с явно меньше компетенцией внимательно читают и задают вопросы, а не бодаются

                                                                                      насчет моих интересов — мимо, юноша

                                                                                      я просто ХОРОШО учился в университете, какое-то время преподавал ИИ (в т.ч. НС) и немного их программировал. я понимаю как они работают

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

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

                                                                                      обратите внимание — везде в местах дискуссии где я задаю вам конкретные вопросы, вы замолкаете, потому что ни возражений, ни доводов у вас нет, как нет знаний.
                                                                                        –2
                                                                                        Черт, я даже не буду спорить. Мне казалось что я все время просил конкретики, а в ответ мне давали воду. Но вам виднее. И окружающим тоже.
                                                                                        И к чему мне знать что вы хорошо учились в университете? Вы думаете это добавит вашему мнению авторитетности? Ошибаетесь. Во-первых я учился на отлично, во-вторых самые большие глупости всегда делаются с умным видом. Поэтому независимо от образования, вы можете быть идиотом.

                                                                                        Я просто буду судить по поступкам. Я вижу что мои комментарии минусуются не потому что в них есть что-то неправильное, а потому что их написал я. Минусуется просто любой коммент, независимо от содержания. Для меня этого достаточно чтобы понять что у вас нет аргументов, и что мне просто пытаются отомстить. Это конечно огорчает, но не настолько, насколько кому-то хотелось бы. Успехов.
                                                                                          +1
                                                                                          я Вам дал примеры из реальной жизни, которые с успехом решены методами ИИ достаточно давно:
                                                                                          — управление машиной (довольно известное видео доступно со Стэнфордского Университета)
                                                                                          — распознавание рукописного текста (почта США)
                                                                                          — управление небольшим вертолетом (по признанию лучших пилотов — ИИ уже превзошел мастерством человека — можно найти среди работ ученых Стэнфорда)
                                                                                          — поисковые алгоритмы.

                                                                                          и прочего-прочего…

                                                                                          неужели этого мало?
                                                                                    –2
                                                                                    Забавно, только что кому-то не лень было пройтись по каждому моему комментарию и поставить минус. Торжество искусственного интеллекта. Фиг с ней с кармой, но коменты — жалко :)
                                                                                      0
                                                                                      Попробую изложить просто.
                                                                                      НС иногда позволяет разработать достаточно хорошее решение (не идеальное с точки зрения алгоритма и, возможно, даже не оптимальное) за существенно меньший промежуток времени по сравнению с «правильным» алгоритмическим решением (согласно текущей практики использования НС).

                                                                                      Естественно, НС проблему остановки не решит :-)
                                                                                        –2
                                                                                        Спасибо. На самом деле, вы мне не сообщили ничего нового, но именно этот ответ я ожидал от своих оппонентов долгое время. К сожалению я его услышал от вас. От них я слышал только что я не в теме, что НС не работает по алгоритму и т.п., но неважно.

                                                                                        Итак суть в следующем — в некоторых случаях НС позволяют сократить время разработки по сравнению с другими решениями. Т.е. в какой-то степени это можно сравнить с переходом на ЯП с более высоким уровнем абстракции (подчеркиваю, в какой-то степени). Естественно скорость разработки уменьшается за счет других параметров.
                                                                                        Так вот единственное что я хотел сказать — это то что я считаю что переход на тот уровень абстракции который дают НС — неоправдан.
                                                                                          0
                                                                                          По поводу количества упоминания слова «алгоритм» в этом топике мне хотелось процитировать XKCD, что я и сделаю:
                                                                                          We did not invent the algorithm. The algorithm consistently finds Jesus. The algorithm killed Jeeves. The algorithm is banned in China. The algorithm is from Jersey. The algorithm constantly finds Jesus. This is not the algorithm. This is close./blockqyote>

                                                                                          Вы имеете полное право на свое мнение, но в ряде случаев столь высокий уровень имеет право на жизнь, как минимум для прототипирования. Что уж говорить, даже языки с автоматическим управлением памяти не для всех задачах допустимы. Само собой, НС — не решение в общем виде, но, как понимаю, особенность в том, что время разработки может отличаться не в разы, а на порядки.
                                                                                      0
                                                                                      Я только что заявил что для любой задачи к-я решается средствами НС, есть более эффективный алгоритм без применения НС. Вы со мной согласились.


                                                                                      Не помню чтобы я с этим соглашался.

                                                                                      Если коротко — НС рулят в когнитивных задачах. Узнавание, в частности.
                                                                                        –2
                                                                                        Я:
                                                                                        И получается что даже если я напишу более эффективное решение — вы скажете «ну да, здесь НС облажались, зато в другом месте они незаменимы». Я напишу решение для «другого места» — в скажете то же самое. И так до бесконечности.

                                                                                        Вы:
                                                                                        Вы абсолютно правы.

                                                                                        Вы либо пишете ответ не читая комментарий, либо у вас очень короткая память.

                                                                                        Посмотрите на последнее предложение: «И так до бесконечности». Это означает что _любая_ задача которую вы мне поставите будет более эффективно решена средствами не НС.

                                                                                        Если бы я написал «И так до тех пор пока мы не найдем задачу которую нельзя решить обычными средствами» — вы могли бы позволить себе «не помнить». Но поскольку я такого не писал — советую начать тренировать память.
                                                                                          +2
                                                                                          nothing personal, но Вы удивительно нудный и упертый человек.

                                                                                          Вы просили конкретных примеров — Вам привел(и) таких сполна, Вам нужен код — его множество (даже ссылки дали), Вам нужна практика — просто откройте глаза (Гугл Вам в помощь как в прямом, так и в переносном смысле, т.к. множество внутренних задач гугловцы решают посредством ИИ) и посмотрите вокруг (даже в этом топике).

                                                                                          Что Вам еще нужно? Или это спор из принципа?
                                                                                            –2
                                                                                            Я возможно упертый, но не нудный человек. Проблема в том что некоторые люди читают комментарии по диагонали. Они видят в них не то что я пишу, а то что они хотят увидеть. Я в десятый раз повторю одно и то же. Я не просто прошу привести пример существующей НС. Я знаю что они существуют, применяются и дают результаты. Я этого никогда не отрицал. Я прошу привести пример задачи где только НС дает эффективное решение, и следовательно выбор именно НС — оправдан. Как вариант опровержения оправданности — я предлагаю обосновать (или предложить) решение более эффективным методом.

                                                                                            Человек вроде привел пример. Я говорю — «давай я докажу что этот пример — неудачный». Он говорит — «ну давай, но мое мнение все равно не поменяется. Я придумаю новый пример. Докажешь опять — придумаю еще один. И так пока ты не задолбаешься.»
                                                                                            Вопрос — зачем мне опровергать его пример, если его мнение при этом не меняется? Это напоминает религиозный спор — показываешь человеку противоречие, а он говорит — на все воля божья.
                                                                                              +2
                                                                                              я понял камень преткновения.

                                                                                              Вы считаете, что машинное обучение не является частью ИИ. Я считаю, что методология машинного обучения — это непосредственный инструментарий ИИ. Reinforcement Learning туда же.

                                                                                              Таким образом, практически любую задачу, которая требует кластеризацию, классификацию (и nearest neighbor, и SVM, и PCA до кучи) «невозможно» решить без применения аппарата ИИ.

                                                                                              P.S. не считаю НС панацеей от всех болезней, но в этом топике не видел что кто-либо такое утверждал.
                                                                                                –2
                                                                                                Я тоже кое-что понял. Проблема в том что дурацкое название «искусственный интеллект» охватывает огромную область знаний. Я отношу к области ИИ только то что однозначно туда относится, и не пересекается с другими областями. А в реальности туда относят и обычные алгоритмы, которые не имеют никакого отношения к «интеллектуальности».
                                                                                                Т.е. я могу использовать какой-то обыкновенный алгоритм, но из-за того что этот же алгоритм используется в ИИ, мне скажут что я решаю задачу методами ИИ. Хотя ни на какие методы и намека нет.
                                                                                                Раз сумматоры используются в ИИ — значит любую задачу которая использует сумматоры, можно объявить интеллектуальной. Естественно это глупо, но этим часто пользуются. Ведь гораздо приятней рассказывать друзьям что я занимаюсь исследованиями в области ИИ, чем говорить что я штампую платы на заводе.
                                                                                                  0
                                                                                                  выдыхайте…

                                                                                                  у вас личные счеты с AI?
                                                                                                    –1
                                                                                                    Нет, ничего личного. Просто, как уже написали, «в интернете кто-то неправ» :)
                                                                                                    0
                                                                                                    Если суммирование происходит с коэффициентами, полученными методами ИИ, то мы объявим эту задачу решенной с помощью ИИ. Если коэффициенты были получены любым другим способом X, то мы скажем, что задача решена способом X. И это будет честно.

                                                                                                    Если я за 10 минут сварил себе пельмени купленные в магазине, то задача ужина была решена как минимум с помощью и методами:

                                                                                                    — магазина и сопутствующей логистики и дистрибуторской сети, в которую входит этот магазин;

                                                                                                    — мясокомбината, его логистики и его поставщиков;

                                                                                                    — производителей муки и опять же их логистики;

                                                                                                    и т.д.

                                                                                                    С одной стороны, я за 10 минут приготовил пельмени. Сам! И всего за 10 минут! С другой стороны это невозможно без понятия «логистика», вроде бы не имеющего никакого отношения к пельменям.

                                                                                                  0
                                                                                                  т.е. переформулирую, если Вы сможете решить более эффективно (да бог с ней с эффективностью, просто решить) любую из перечисленных задач без применения инструментария ИИ, то… это будет очень круто, как минимум.
                                                                                                  0
                                                                                                  В Интернете кто то неправ :)
                                                                                                  +1
                                                                                                  Вы либо пишете ответ не читая комментарий, либо у вас очень короткая память.


                                                                                                  Честно говоря, я написал это чтобы вы от меня отцепились :) Похоже, не сработало :)
                                                                                                    –2
                                                                                                    Запомните: «не спорь дураком — люди могут не заметить между вами разницы».
                                                                                                    В следующий раз когда захотите чтоб я отцепился, напишите «отцепись!». Должно сработать :)
                                                                                                      0
                                                                                                      Поучите меня жить, давайте :) Вы же знаете, людям это нравится ;)
                                                                                    0
                                                                                    Машина Тьюринга, по определению, работает по заранее заданным входным данным, и по детерминированному алгоритму.
                                                                                    Нейросети работают с данными (критериями оценки), поступающими извне в процессе работы, и слабо формализуемыми на этапе проектирования.
                                                                                    Чтобы машина Тьюринга интерпретировала оценку «плохо»/«хорошо», должен быть заранее заданный алгоритм — что делать в том или ином случае.
                                                                                    В нейросетях этой заренее заданной интерпретации данных нету.

                                                                                    Пример тут в комментах уже приводился — регуляция комфортности температуры/влажности.
                                                                                    ПИД регулятор предполагает, что если «плохо», выходные парметры надо двигать в те значения, где было «хорошо».
                                                                                    Причём оценка «хорошо» закладывается при программировании, и неявно использует уже установленые интеллектом разработчика закономерности.
                                                                                    НС не предполагает известных закономерностей и вполне справится с непредвиденными заранее ситуациями типа выхода из строя датчиков, глобального потепления, или замены значительной части пользователей с эскимосов на индусов.
                                                                                      –3
                                                                                      Вот моя идея и состоит в том, что по мере обучения, НС просто пытаются приблизиться к решению которое выдаст машина Тьюринга, при качественном алгоритме. А по-другому и быть не может, потому что НС не решают класс задач, который не может решить МТ.
                                                                                      Ведь согласитесь, сеть, рано или поздно, в теории должна закончить обучение (если обучение не заканчивается, значит точность сети будет постоянно уменьшаться/увеличиваться, и смысла от обучения немного). Т.о. в конечном итоге сеть все равно будет работать по одному жестко заданному алгоритму. А теперь вопрос — что будет быстрее работать, алгоритм, реализованный на МТ, или НС, реализующая этот же алгоритм, которая в свою очередь реализована на МТ?
                                                                                        0
                                                                                        ну вопервых, не все задачи предполагают «закончить обучение»
                                                                                        приведённый пример — это постоянный процесс.
                                                                                        но вы, кажется, склонны его игнорировать и постулировать существование алгоритма для всего.

                                                                                        при отсутствии алгоритма, решить задачу на МТ не получится в принципе.

                                                                                        кроме того, существует ряд задач (класс NP), которые алгоритмически решать просто нецелесообразно.
                                                                                          0
                                                                                          вот человек, а?

                                                                                          машина тьюринга — математическая, умозрительная модель. реально их не существует. ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D1%82%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0

                                                                                          сравнивать СКОРОСТЬ работы МТ с чем-либо вообще некорректно

                                                                                          согласно теореме новикова/колмогорова, любая НС прямого распространения сигнала при обучении через back propagation method способна обучиться любому входному набору сигналов, который она может представить

                                                                                          так что обучение всегда имеет смысл и всегда конечно.

                                                                                          что касается эксплуатации обученной сети, то это просто вычисление ряда сумм и обработка их гиперболическим тангенсом (как правило) или пороговой функцией (реже)

                                                                                          реализацию гиперболического тангенса на МТ я с трудом себе представляю, хотя она, разумеется, существует

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

                                                                                          самое главное:
                                                                                          >> А по-другому и быть не может, потому что НС не решают класс задач, который не может решить МТ.

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

                                                                                          повторяю — учите матчасть.
                                                                                            0
                                                                                            >Ведь согласитесь, сеть, рано или поздно, в теории должна закончить обучение (если обучение не заканчивается, значит точность сети будет постоянно уменьшаться/увеличиваться, и смысла от обучения немного).

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

                                                                                            >А теперь вопрос — что будет быстрее работать, алгоритм, реализованный на МТ, или НС, реализующая этот же алгоритм, которая в свою очередь реализована на МТ?

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

                                                                                              Приведу абстрактный пример:
                                                                                              Вы обучили сеть перемножать четные числа. Вдруг вам понадобилось перемножать нечетные — сеть обучилась этому, но забыла как перемножать четные (память НС в любом случае ограничена). Обобщенный алгоритм — взять два числа и перемножить их, независимо от их четности. Не критикуйте пример за глупость, я его привел лишь для того чтобы показать что алгоритм с обучением можно обобщить до алгоритма без обучения. Может быть реально доказать что существует класс задач, для которых подобное обобщение невозможно, но насколько я знаю, пока такого доказательства нет.
                                                                                              0
                                                                                              Засада в том что Машина Тьюринга, которую вы упоминаете — сферическая в вакууме, а нейронные сети — вполне реальные.
                                                                                            0
                                                                                            Ваши требования к НС противоречат общепринятым. НС принято применять в случаях, когда для решения задачи не удаётся формализовать алгоритм, либо известный алгоритм чересчур сложен. Понятно, что в большинстве случаев, алгоритмическое решение будет «лучше». Беда в том, что таковое, как правило, неизвестно :).
                                                                                            Что касается примеров… Я слышал, что для OCR применяются втч и НС. Ну, напишите свою реализацию :).
                                                                                            +2
                                                                                            Видимо Вы не видели реализаций, которые были уместны.
                                                                                            Я встречал железяки, в которых использовались нейросети, точнее японцы использовали отдельные аппаратные реализации. Но регуляторы эти работают по сию пору. Кстати, один неприятный момент вылез, продолжение достоинства. Обслуга расслабилась, и не проверяла электронику. В том числе и лог железки тоже никто не смотрел. Однажды вечером регулятор «раскрылся» (ладно хоть не перекрыл все). Оказалось датчик давно уже «шумел», однако вторичка регулятора даже на паршивом сигнале ОС умудрялась как-то регулировать. Обычный ПИД давно бы уже всех на уши поставил. А этот — «терпел» до последнего.
                                                                                              +1
                                                                                              Я не знаю что Вы имели в виду под ОБЫЧНЫМИ СРЕДСТВАМИ, поэтому нечеткую логику отброшу, т.к. это отдельная и не менее интересная тема (которая открывает тоже довольно-таки интересный инструментарий для решения слабоформализованных задач).

                                                                                              Приведу вам одну задачу — распознавание образов, если конкретнее распознавание рукописного текста.
                                                                                              На примере топика ее тоже можно свести к задачи кластеризации. НС предоставляют широкий инструментарий для маневров, но я для ее решения отановился по-нескольким причинам на PNN-сети.

                                                                                              Приведу ряд критериев, которые на мой взгляд считаю неоспоримыми плюсами при решении данной задачи с помощью НС:

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

                                                                                              2. Способность к дообучению. Понятно, что новые образы сначала могут нераспознаваться. На этом этапе нам помогает возможность дообучения НС. Т.е. при каждом нераспознанном образе мы добавляем его в обучаемую выборку и переобучаем НС.

                                                                                              3. Быстродействие.
                                                                                              Наиболее ресурсоемкий процесс — обучение.
                                                                                              Но обученная НС, будет требовать намного меньше вычислительных ресурсов, чем зача которая будет решаться ОБЫЧНЫМИ СРЕДСТВАМИ.

                                                                                              Я не говорю что НС — это панацея, это далеко не так, но по-мому глупо не принимать их во внимание при решении определенных задач (распознавание, прогнозирование, ...), а тем более ассоциировать со «змеиным маслом».
                                                                                              Возможно и Вы когда-нибудь столкнетесь с проблемой, которая потребует абсолютно нового подхода к ее решению.
                                                                                              И с помощью чего Вы будете ее решать (будь то НС, нечеткая логика ...), выбирать Вам.

                                                                                              Возможно даже, что решение задачи, которую можно решить и ОБЫЧНЫМИ СРЕДСТВАМИ, будет выглядеть более элегантно если подойти к ее решению с другой стороны.
                                                                                              А статьи подобного плана на мой взгляд позволяют посмотреть на решениие одной задачи под разными углами и немного расширить кругозор.
                                                                                                +1
                                                                                                Тут нужно разграничить понятия, что в вашем представлении есть «обычные средства», а что есть «средства использующие идеи НС». В действительности, как мне кажется, природа вашего вопроса коренится в понимании терминологии, а не в самих методах.

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

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

                                                                                                Здесь, фактически, то же самое. Если отмести всю терминологию и представить себе суть метода «на пальцах» (я себе представлял реализацию распознавания изображений), то все встанет на свои места и станет предельно ясным. я вдруг понял, что то, как я себе это представляю, это и есть, собвстенно, кластерный метод, описанный выше.

                                                                                                то же, каким образов тема статьи кореллирует с темой ИИ становится ясно, если вспомнить что предмет «распознавания знакомых образов и поиска + запоминания аналогий» лежит в основе восприятия (я немного интересуюсь лингвистикой, семиотикой и антропологией вообще, посему, говорю не по наслышке). И что все мышление, согласно существующим на сей день наиболее правдоподобным теориям, построено, собственно, на этои принципе. Тобишь, в некоем упрощенном виде, можно создать машину, которая будет по сходному принципу строить отношения между распознаваемыми и классифицируемыми ею образами и в результате получить вполне себе адекватный аналог работы (не буду говорить «мозга») развитой нервной системы, способной к сбору и классификации знанаий, а следовательно к принятию каких-то незаложенных алгоритмически в самом начале решений. так что, это все имеет самое непосредственное отнощение к теме :)

                                                                                                  0
                                                                                                  (даже интересно, что автор этого комментария из 2009 году думает про нейронные сети сейчас, в 2016)
                                                                                                  +5
                                                                                                  Однако есть ситуации, и их довольно много, когда правильного ответа никто не знает. И даже непонятно что является ответом. И даже задача не вполне ясна.
                                                                                                  42
                                                                                                    0
                                                                                                    Я бы даже поставил вопрос иначе: «а существует ли единственно правильный ответ»?

                                                                                                    Есть лишь постоянное стремление набрать опыт (д определённого возраста), который позволит видеть мир «устойчивым» и «понятным» (или считать его таковым). В итоге выбора «правильных» ответов каждым из нас для каждого мир оказывается устойчив в разных/индивидуальных частях его понимания.

                                                                                                    Так чем же должен заниматься «ИИ» который сидит в «банке под крышкой в системнике», изобретать бога из пыли и уборщицы, которая его может сломать?

                                                                                                    Навязывается вопрос, даже если кто-то его и изобретёт, то что он собирается от него добиться? Это же не прогнозируемо. Если изобретаете новые алгоритмы — пожалуйста, но не считайте, что алгоритм — это ИИ. Алгоритм — это рефлекс.
                                                                                                      +3
                                                                                                      Если изобретаете новые алгоритмы — пожалуйста, помните:
                                                                                                        +1
                                                                                                        мм… честно говоря, в шутку не въехал (уж извините)… может «на пальцах скажете»?
                                                                                                          +1
                                                                                                          Попробую. Для алгоритмов оптимизации используется понятие стоимости решения.
                                                                                                          Например, нужно выбрать оптимальный путь из пункта А до пункта Б, при этом учитывая, что разные участки дороги имеют разное качество. Классический сказочный пример: есть короткий путь, но через болото, а есть безопасный, но долгий. Это можно формализовать как «метр по болоту стоит 100 (т.е. дорого), метр по асфальтированному шоссе стоит 1 (т.е. дёшево)», а потом просто искать самый «дешёвый» из всех вариантов.
                                                                                                          Так вот, картинка советует всегда включать в расчёт «Cтоимость того, что этот алгоритм станет Скай-нетом=999999999».
                                                                                                            0
                                                                                                            Спасибо. Большое. Просто я не понял почему была упомянута «сложность»/«длинна» алгоритма применительно к моему посту.
                                                                                                              +1
                                                                                                              Просто ваши слова «Если изобретаете новые алгоритмы — пожалуйста, но не считайте, что алгоритм — это ИИ.» напомнили мне этот комикс xkcd. По-моему, на правах шутки уместно :)
                                                                                                                0
                                                                                                                аа… :)
                                                                                                      0
                                                                                                      мы сами себе задаем вопросы, и сами на них ищем ответы, а правильных ответов «вообще», строго гоовря, не существует. Всегда нужно подразумевать как-минимум контекст, внутри которого задан вопрос. Для науки этот контекст, наверное, коренится в принятом «языке» (математика — царица наук) и, наверное, в природе самого человека (в неизбежной протагоровой его сущьности :)
                                                                                                      0
                                                                                                      Мне кажется вы не до конца поняли о чём идёт речь в данном посте, на мой взгляд главной фразой тут является «есть ситуации, и их довольно много, когда правильного ответа никто не знает», и более того, такие сложные математические методы, довольно ресурсоёмкие, они нужны именно там где задача может быть и не «даже задача не вполне ясна».

                                                                                                      То есть тут суть не в том чтобы упростить решение чего-то конкретного, а именно найти решение чего-то абстракного.

                                                                                                      Вот именно потому что некоторые считают, что «вполне реально создать рабочий алгоритм, без всяких нейронных сетей, который будет работать быстрее, точнее, проще, и более гибко» мы сейчас не видем хороших примеров ИИ в играх, и хороших примеров прикладных ИИ, ну пожалуй кроме распознавания текста, голоса, итд. А ведь возможностей для применения математических методов, намного больше чем может показаться на первый взгляд, но как правило никто не хочет заморачиваться. Намного проще сделать просто алгоритм, а потом когда что-то пойдёт не так разводить руками — мы же вам тут не искусственный интеллект писать нанимались.

                                                                                                      Всё что я написал это моё ИМХО, извините если я кого-то обидел или в чём-то не прав. Надеюсь дикуссия в данном топике будет полной для всех :)
                                                                                                        0
                                                                                                        Извините, нетуда запостил, это ответ на первый комментарий.
                                                                                                          +1
                                                                                                          Вот фраза про эти «ситуации» как раз смущает больше всего. Т.е. никто не знает ни вопроса, ни ответа, но ИИ волшебным образом дает какой-то ответ. А затем мы пытаемся понять что же этот ответ означает? Вот уж действительно получается «Автостопом по галактике».
                                                                                                            0
                                                                                                            Ну да, 42.
                                                                                                              +1
                                                                                                              Боюсь, что Вопрос и Ответ взаимоисключающи. Знание одного из них логически исключает знание другого. В одной и той же вселенной невозможно одновременно знать и то, и другое. То есть, такое может случиться, но, по-видимому, Вопрос и Ответ в таком случае просто взаимно уничтожатся, и прихватят Вселенную с собой. Тогда вместо нее появится что-нибудь еще более необъяснимое и бессмысленное. Вполне может быть, что это уже произошло. Но полной уверенности в этом вопросе быть не может.

                                                                                                              «Жизнь, Вселенная и всё остальное» 1982 г.
                                                                                                                0
                                                                                                                Да, верно, парадокс именно в этом. Выделение «знания» из обученной нейронной сети — отдельная проблема. Т.е. после обучения сеть решает задачу, но выделить чёткого алгоритма не получается. Естественно есть какая-то функция и какие-то коэффициенты, речь про то, как стоит интерпретировать эти числа.
                                                                                                              0
                                                                                                              Кстати, вот эта фраза, которую Вы цитируете — «Однако есть ситуации, и их довольно много, когда правильного ответа никто не знает. И даже непонятно что является ответом. И даже задача не вполне ясна. Есть только данные.» — в корне противоречит следующей, которая говорит, что ответом является перечень групп, выделенных из этих данных, и задачей — их выделение.

                                                                                                              Хотя, это надо сказать не столько Вам, сколько автору топика. Ибо такое построение захода в тему — возмутительнейшим образом некорректно!
                                                                                                              0
                                                                                                              О, как раз лабу делал :-) Правда у Вас намного лучше чем в методичке расписано…
                                                                                                                0
                                                                                                                В приведенном примере алгоритм как раз таки известен: двигать точки (нейроны) всё ближе к кружкам. Т.е. обычный алгоритм обозванный нейронной сетью. Я сам при изучении курса нейросетей недоумевал.

                                                                                                                Вот другое дело, если бы было непонятно: а что таки вообще тут делать надо, ну кружки и что?

                                                                                                                «Чтобы правильно задать вопрос нужно знать бОльшую часть ответа» (с) Р. Шекли.
                                                                                                                А чтобы написать алгоритм решающий задачу, нужно знать ещё больше.
                                                                                                                  +1
                                                                                                                  Если вы не задаёте вопроса (задачи), то компьютер вправе ответить вам случайным образом (тот же 42). Вас устроит такой ответ? :-)

                                                                                                                  Положим, дадим компу миллион кубиков, пускай что-нибудь из них состроит (как человек, да?). Ну так он и состроит. Но оно нам надо, то что получится? А фиг знает. И зачем в таком случае нейроны когда можно просто рандомом сделать «что-нибудь».

                                                                                                                  Сам, признаться, не разобрался в этом наиинтереснейшем вопросе. Это вопросы и себе тоже.
                                                                                                                    0
                                                                                                                    >> И зачем в таком случае нейроны когда можно просто рандомом сделать «что-нибудь».

                                                                                                                    В почти правы, правда она, как всегда, по середине — сколько рандомных вариантов надо перебрать, чтобы получилось что-нибудь полезное применительно в уже набранному Вашему опыту? А как этот опыт создавался, Вы за маленькими детьми наблюдали? А кто этих маленьких детей направлял в корректности набора опыта?

                                                                                                                    А вот тут уже паранойя: а кто вам сказал, что система обучения маленьких детей родителями корректна, они же сами воспитывались на ней?
                                                                                                                      0
                                                                                                                      Практика. Наличие у этих родителей их детей. В течении нескольких поколений.
                                                                                                                      А не оправдается подход — вымрут…
                                                                                                                    • UFO just landed and posted this here
                                                                                                                        +2
                                                                                                                        > Положим, дадим компу миллион кубиков, пускай что-нибудь из них состроит (как человек, да?).

                                                                                                                        Компьютер будет делать очень просто:
                                                                                                                        1. Он построит из этих кубиков что-то 10 раз. Именно рандомно.
                                                                                                                        2. Выберет из получившихся результатов два самых нормальных. Критерии оценки задаются извне. Например температура в построенном здании должна быть приемлемой для жилья человека.
                                                                                                                        Соответственно выберутся те, в которых температура ближе к нормальной. но эта температура может быть далека от совершенства.

                                                                                                                        3. На основании этих двух строится еще 10. На основании — имеется ввиду, что они будут похожи. Но при этом могут накладываться случайные мутации(опять рандом)

                                                                                                                        4. далее переходим к пункту 2.

                                                                                                                        И так, пока температура не станет приемлемой для жилья.

                                                                                                                        Так работает генетический алгоритм.
                                                                                                                        В какой-то момент, если повезет, нейронная сеть начнет строить нормальные дома. Тогда мы запомним состояние сети(веса связей между нейронами) и сможем применять эту сеть для строительства.

                                                                                                                        Изначально мы не знали, что нам нужно, (как выглядит дом который нам нужен). но в результате получили готово решение.

                                                                                                                    • UFO just landed and posted this here
                                                                                                                        0
                                                                                                                        Занимался как-то проблемой кластеризации(для девушки, она в вузе учится), даже програмку какую-никакую написал.
                                                                                                                        Из основных идей
                                                                                                                        1) Кластеризация простыми иерархическими алгоритмами Single-Link и MST
                                                                                                                        (Далее думал реализовать K-Means, который весьма похож на SOM)
                                                                                                                        2) Кластеризация как инструмент сегментации изображений
                                                                                                                        3) Понятие шума при кластеризации
                                                                                                                        (Планировалось реализовать 2 вида шума: а) автоматически относить маленькие кластеры к шуму. б) элементы находящиеся на примерно одинаковом расстоянии от центров масс 2х кластеров считать иррелевантными)

                                                                                                                        Написано так себе, ибо я уже дано не программист, да и тот препод вряд ли вообще понял о чём программа =(
                                                                                                                        http://62.182.89.99/data/websvn/listing.php?repname=guap&path=%2FClusterisation%2F#_Clusterisation_

                                                                                                                        ПС. Почему я так много не доделал? Ответ прост — я открыл для себя matlab clustering toolbox который сделать может намного больше и в разы быстрее (+ он вроде умеет exe'шники делать).
                                                                                                                        • UFO just landed and posted this here
                                                                                                                          • UFO just landed and posted this here
                                                                                                                              +1
                                                                                                                              Мне кажется, о непонятных/неизученных вещах лучше думать, что это мистическая хреновина и пытаться изучать ее, чем возомнить, что все уже подмеченные особенности отражают объективную сущность. Да и насчет восьмидесяти процентов — вспомните принцип 80/20.
                                                                                                                              • UFO just landed and posted this here
                                                                                                                                0
                                                                                                                                Прорвало))
                                                                                                                                Просто понятия НС и ИИ опопсели. Все есть, и будущее и прошлое. Всегда есть люди двигающеи отрасль. Это тяжело, безумно тяжело. И за каждый миллиметр надо бороться, так что лысина почтенного профессора покрывается вполне рабоче-крестянскими каплями пота. Эх, если бы он так пер против тайн вселенной… А ведь противостоят ему обычные заурядности, торговцы, политики, моралисты. Люд, что знает, нет никакого бессмертия. Вот сейчас, и нет ни прошлого, ни будущего. Религия? Да она им чужда, как чужд папуасу электронный микроскоп. Ну если только кокос разбить им (для нашей публики — срубить бабосов на ближнем).
                                                                                                                                Так что не рилигии тормозят прогресс, это люди алчные, люди глуппые, завистливые и ленивые, беспощадные. Все это люди, те самые, которых нужно разгадать.
                                                                                                                                Может не стоит сравнивать НС и ИИ с человеческим мозгом и личностью? Очень неприглядные твари могут получиться. Просто хороший математический аппарат.
                                                                                                                                Кстати, очень неплохие результаты можно получить используя аппарат нечеткй логики. И куда проще НС.
                                                                                                                                Во, вспомнил, интересно как НС на CELL-овских камешках обсчитываться могут. Очень хочется тошибовскую железку пощупать, на которой четрые камешка установленно, кажется.
                                                                                                                                  0
                                                                                                                                  Так всегда было. Вы думаете крестьяне в средние века очень парились о возвышенном?
                                                                                                                                  • UFO just landed and posted this here
                                                                                                                                      0
                                                                                                                                      > Если так всегда было, это не означает — что так всегда должно быть.

                                                                                                                                      Если так всегда было и наука появилась на свет и сделала такой прогресс, то это значит, что как минимум хуже не станет с ней сейчас, когда ей не мешают всякие Торквемады, например.
                                                                                                                                  0
                                                                                                                                  Внутри самой математики тоже об этом задумываются. В зависимости от таланта переводчика формулировки могут выглядеть как запутанный юридический документ, а могут придавать высказыванию дополнительный философский смысл. Хорошая (с точки зрения русского языка) формулировка теоремы Геделя звучит так: «Непротиворечивая теория неполна».

                                                                                                                                  P.S. когда будете задумываться, учтите, что если мы будем строго следовать Постулату: «В математике (сверхточной науке) не должно быть таких вещей как «аксиома»...» то мы просто заменим имеющиеся аксиомы на другую аксиому (на Постулат). ))) В таком категоричном виде это высказывание всего лишь эмоции. Претензии справедливы, но таким путем их не решить.
                                                                                                                                    0
                                                                                                                                    Не тому ответил, извините.
                                                                                                                                    0
                                                                                                                                    Внутри самой математики тоже об этом задумываются. В зависимости от таланта переводчика формулировки могут выглядеть как запутанный юридический документ, а могут придавать высказыванию дополнительный философский смысл. Хорошая (с точки зрения русского языка) формулировка теоремы Геделя звучит так: «Непротиворечивая теория неполна».

                                                                                                                                    P.S. когда будете задумываться, учтите, что если мы будем строго следовать Постулату: «В математике (сверхточной науке) не должно быть таких вещей как «аксиома»...» то мы просто заменим имеющиеся аксиомы на другую аксиому (на Постулат). ))) В таком категоричном виде это высказывание всего лишь эмоции. Претензии справедливы, но таким путем их не решить.
                                                                                                                                      0
                                                                                                                                      Картинки пропали…
                                                                                                                                      0
                                                                                                                                      а почему вообще описанная сеть названа нейронной???

                                                                                                                                      Only users with full accounts can post comments. Log in, please.