1. Введение
В наше время для разработки программного обеспечения приходиться приложить не мало усилий. Слишком много времени тратится на то что логично было бы возложить на компьютеры выбор методологи, проектирование, написание технического задания, тестирование все это делает человек и делает очень медленно. Но возможно ли это в принципе? Доктор технических наук Максим Щербаков в своей лекции «Нейронные сети: maths & magic» ответил: «Да, это возможно». Хорошо иметь автоматизированного помощника, который решит задачу просто имея некие критерии и шаблоны при этом платить ему не надо и сделает он это в кратчайшее время, но какие конкретно задачи могут решать нейронные сети в наше время? Развитие машинного обучения в наши дни идет семимильными шагами не сегодня так завтра машины смогут заменить человека в рутинных задачах. Составление технического задания не самое приятное занятие особенно из-за необходимости расписать все крайне подробно и по форме (подробнее в 4 пункте). Каждая компания выбирает определенную методологию разработки программного обеспечения и меняет её крайне редко. Как же быть если для проекта другая методология подходит лучше прежней или нынешняя не подходит вовсе? Логично было бы заменить, но какую выбрать (подробнее в 5 пункте)? Правильное тестирование должно занимать приличное количество времени и людей. Довольно затратно и долго (подробнее в 6 пункте). Нейронная сеть удешевит и ускорит все эти этапы.
2. Сокращения
НС — Нейронные сети
ПО — Программное обеспечение
ТЗ — Техническое задание
ИИ — Искусственный интеллект
3. Искусственные нейронные сети
Что такое искусственный интеллект? Грубо говоря, это симуляция человека с помощью компьютера. Тест Тьюринга в каком-то смысле отвечает на этот вопрос. Он заключается в том, что в ходе диалога человек должен решить кто перед ним человек или машина. В наше время тест Тьюринга считается не совсем правильным и используются другие методы тестирования искусственного интеллекта. Для большего понимания почему этот тест не совсем верный его можно просто перевернуть. Как компьютер узнает, что перед ним человек? Задаст вопрос сколько будет 754534*32 и запустит таймер. Поэтому как и мы не можем решить уравнение достаточно быстро так и машина (пока что) не может полностью симулировать человеческое общение со всеми его тонкостями и особенностями. В таком представлении полная симуляция мозга компьютером кажется невозможной. Так что пока мы используем искусственный интеллект только как помощников в конкретной области.
3.1 Краткая история ИИ
История развития искусственного интеллекта не очень веселая и гладкая. Ранние эксперименты по созданию искусственного интеллекта помогли некоторым компаниям сэкономить не малые суммы денег. Например компания Digital Equipment Corporation с помощью искусственного интеллекта экономила по 10 миллионов долларов в год. Так же разрабатывались чатботы, системы по идентификации бактерий и многое другое. После, компании по разработке искусственного интеллекта не смогли выполнить все свои завышенные цели и в итоге закрылись, из-за этого для ИИ настали тяжелые времена и сообщество начало поглядывать на машинное обучение и нейронные сети. В 1943 году Уоррен Мак-Каллок и Уолтер Питс ввели термин искусственная нейронная сеть. Модель выполняющая вычисления используя биологические нейроны. И спустя 63 года в университетах Торонто и Монреаль вовсю начали обучать глубокие нейронные сети, что стало настоящей революцией для машинного обучения!
3.2 Принцип работы нейронной сети, её успехи и слабые места
В упрощенном виде принцип работы нейронной сети состоит в нахождении зависимостей и изменении весов если действие верное то усиливаются весы, которые отвечали за данное действие и наоборот. А если быть по точнее то принцип заключается в уменьшении некоторой функции ошибки. Градиентный спуск чаще всего применяется для этой цели.
Об успехах нейронных сетей все наслышаны. Они побеждают чемпионов игры GO, играть в которую по идее прерогатива исключительно человека и для компьютера она слишком сложна, но как видно это не правда. Не так давно в 2015 году программа AlphaGo победила чемпиона выиграв четыре из пяти партий. Неплохо правда? Через два года в 2017 году нейросеть улучшили и она обыграла 9 чемпионов GO, выиграв шестьдесят из шестидесяти партий. Самое страшное для чемпионов было то что программа действовала абсолютно хаотично и в итоге все равно выигрывала. Как же Google (разработчики AlphaGo) добились такого результата? Все просто улучшенная AlphaGo тренировалась со своей предшественницей. Нейросеть сама нашла недостатки и исправила их.
Нейросети так же обучились писать музыку. «Прослушав» шедевры мировой классики нейросеть сочинила свою музыку и без хорошего понимания работы машинного обучения отличить творение людей от творения машины практически невозможно. На лекции «Нейронные сети: maths & magic» включили одно из произведений компьютерных вычислений и предложили прослушать предварительно сказав что это создал великий музыкант. После прослушивания слушателей спросили: «Кого-нибудь зацепило?» некоторая часть ответила «Да». Получается машины могут творить? Ответить довольно сложно. Чтобы понять почему, немного разберемся с принципом работы нейросети на примере комнаты с очень большим количеством листочков с символами, которые мы не понимаем. У нас есть алгоритм как, куда и какой листочек перекладывать или мы сами строим этот алгоритм основываясь на том поощряют или ругают нас за наши действия. И вот на вход мы получаем запрос после бежим перекладывать листочки по нашему алгоритму и получаем на выход набор сложенных листочков, при этом сами не понимаем что значат эти символы на входе и то что получаем на выходе, мы и есть нейронная сеть. Вернемся к созданию музыки. Получается что нейронная сеть не творит произведение она просто хаотично но с определенными правилами бьет по аккордам сама не понимая что делает (чем-то напоминает современную живопись). Один из примеров музыки созданной нейронной сетью от компании Яндекс:
Рисовать нейросети тоже научились, используя тот же принцип, что и с музыкой.
Как можно заметить, машинное обучение позволяет решать огромное множество задач. Но как же научить их выполнять все это? Секрет кроется в машинном обучении. Вернемся к комнате с листочками и вспомним что «у нас есть алгоритм как, куда и какой листочек перекладывать» при таком раскладе нейросеть уже обучена. Она знает что и куда надо положить, но так же был и второй вариант «мы сами строим этот алгоритм основываясь на том поощряют или ругают нас за наши действия» именно этот вариант формулирует так называемое обучение нейронной сети с подкреплением. Некий «учитель» поощряет правильные действия нейросети вследствие чего она запоминает и пытается найти зависимость в правильных действиях или «учитель» ругает нейросеть за её ошибки и она все больше пытается найти зависимость в правильных действиях. Так же нейросети обучают методами: с учителем, без учителя, с частичным привлечением учителя. Выбор происходит в зависимости от условий, в которых обучается нейронная сеть.
Используя обучение с учителем мы должны подать набор данных с правильными ответами или по другому тренировочный набор данных на вход после чего нейросеть должна выявить закономерности и ответить правильно уже на тестовый набор данных. Обычно (что и логично) нейросеть чаще ошибается на тестовой выборке это происходит из-за «проблемы переобучения».
Когда нейронная сеть слишком много раз обрабатывает одни и те же данные она приспосабливается исключительно к этой выборке данных вследствие чего на новой выборке где многое по другому нейросеть ошибается.
Используя обучение без учителя мы так же подаем данные, но мы не знаем правильного ответа и задача собственно найти зависимость в этих данных. Обучение с частичным привлечением учителя чаще всего используется при обучении нейросетей способных обрабатывать звук. Не размеченных данных мы можем найти сколько угодно, а вот разметкой придется заняться вручную.
Самым интересным (по некоторым мнениям) является обучение с подкреплением так как мы можем по сути научить чему угодно нейросеть просто отмечая правильное или неправильное действие она выполнила. В 2017 году прошел киберспортивный чемпионат по дисциплине «DOTA 2» под названием «The International 2017», на котором профессиональные игроки сыграли в игру против нейросети «OpenAI» (правда с некоторыми ограничениями). У профессионалов не было ни шанса на победу. Для обучения данной нейросети использовался метод с подкреплением. Нейронная сеть сыграла очень очень много раз и обучилась побеждать без проблем. Ясное дело совсем без проблем у неё не получается так как игра довольно сложна и этим нейросеть можно обмануть. Одному профессиональному игроку удалось одержать победу только благодаря обману.
Теперь, поняв основы, можем обсудить использование нейронных сетей в качестве помощников для программистов.
4. Применение нейронных сетей в создании технического задания
4.1 Принцип
Кому может понадобиться программное обеспечение? В наше время каждому необходимо причем для абсолютно разных целей. Зачастую самим создать ПО они либо не могут, либо не хотят поэтому они, обращаются к программистам. Но как объяснить исполнителю что вы хотите? В принципе программист может составить техническое задание и условно рассказать что будет в программе, но не всем будет до конца ясно ввиду использования терминов или будет понято не так. Как насчет того, чтобы составлять ТЗ индивидуально? Сложно, долго и не так уж и нужно при таких затратах, но когда необходимо сделать что-то сложно и долго почему бы не возложить эту задачу на компьютер? Нейронная сеть позволит выполнить эту задачу.
4.2 Необходимость
Строитель далек от программирования да и вообще далек от компьютера. Для него строка «Процессор Intel Core i5 4200M 2.5 ГГц и выше» совершенно ничего не скажет и зачем тогда ему ТЗ вообще? Давайте научим нейросеть менять строки для каждого индивидуально исходя из того чем он занимается. К примеру возьмем ту же строку из пункта 4.3 «Процессор Intel Core i5 4200M 2.5 ГГц и выше» будем менять её например на краткое название и среднюю стоимость этого процессора на рынке. Так будет более информативно для заказчика.
4.3 Реализация
Реализовать это можно используя метод обучения с учителем. На вход подаем набор той информации, которую может получить исполнитель об условных заказчиках. Так же добавим ярлыки и будем вешать их на людей и за каждым ярлыком будет висеть программа, которая и будет менять текст. Стандартная задача классификации есть набор данных и несколько вариантов ответа. Предположим нейросеть определила, что степень знания в этой области у заказчика находится не на высоком уровне и вешает на него соответствующий ярлык после обращается к программе, которая отвечает за этот ярлык и вот текст заменен на соответствующий знаниям заказчика. Это не совсем то, так как работа нейросети сводится только к определению типа заказчика, а текст меняет сама программа.
Как насчет того чтобы саму программу отвечающую за ярлыки заменить на нейросеть (
Позже когда технологии немного эволюционируют можно будет перенести все оформление технического задания на плечи нейронной сети, а точнее на связанную цепь нейросетей. Подобно нашему мозгу отдельные составные части буду отвечать за отдельные процессы в нашем искусственном нейронном организме. Все это позволит разрушить профессиональный барьер общения (его ещё называют коммуникативным барьером) между заказчиком и исполнителем.
4.4 Вывод
Реализация подобного не очень сложна, в особенности первая нейронная сеть. Со второй придется повозиться, но в итоге и она принесет свои плоды. Подобное использование нейросети упростит взаимодействие между заказчиком и исполнителем.
5. Применение нейронных сетей в создании оптимальных методологий разработки ПО
Человек с трудом принимает что-то новое когда он уже привык. Даже если лопата удобнее, проще, легче человек продолжит использовать палку, чтобы выкопать яму. Очень ярко это видно между поколениями. Бабушки имея возможность оплачивать коммуналку из дома через интернет, предпочитают проехать пол города. Почему? Потому что во-первых они люди и как большинство людей не очень любят перемены, во вторых они не хотят учиться новому считают это слишком сложно для них и даже не пытаются вникать. С методологиями та же история. Компании, особенно большие, не очень охотно будут менять методологию, которая и так работает. Но что делать если выбранная методология не оптимальна или совершенно не подходит для данного проекта? Логично сказать, что нужно заменить на оптимальную, но какая будет таковой и что значит оптимальной? Та, которую легко примет команда, или та, которая ускорит разработку? На кого можно возложить такую ответственную работу? Посмотрим как это могут решить нейронные сети.
5.1 Реализация
Скорее всего, для подобного одна нейросеть не справиться и нам снова понадобится цепочка связей, каждая из которых будет отвечать за отдельную задачу. В данной ситуации у нас есть набор данных об использовании методологий и самих проектов, для которых они применялись. Так же можно добавить данные о разработчиках, но это сильно все усложнит так что отложим на время. В наличии набор данных, у которых нет «ответа» значит воспользуемся методом без учителя. Нейронная сеть сама найдет взаимосвязь между временем затраченным на разработку и данными о самом проекте. Скорее всего точность будет не очень высокой ввиду человеческого фактора. Понадобится вторая нейросеть, которая будет анализировать разработчиков на основе например переписок (для чего понадобится их согласие) или того как они предпочитают работать. И добавим ярлыки наподобие тех, что были в пункте 4 и будем их возвращать в первую нейросеть для обработки. Здесь уже придется использовать метод с частичным привлечением учителя. Нам придется отобрать группу людей и выявить по тестам их характеры (ярлыки) и подать эти данные на вход. Теперь необходимо определить с чем нейросеть будет искать взаимосвязь. Если взять переписки, то это во-первых людям не понравится, потому что используются их личные данные во вторых не даст точного результата. Тогда попробуем использовать данные о работе этих людей, но здесь проблема в доступности этих данных для нейросети. Переписку передать на вход не составит труда, а вот как собрать и преобразовать данные о работе этих людей? Зайдем с другой стороны. В качестве «характеров» возьмем 8 типов ролей выявленных доктором Мередит Белбин.
Теперь мы имеем конкретные ярлыки и характеристики для определения какой на кого вешать. Учитывать человеческий фактор довольно сложно ввиду его стохастически, но все же некоторые закономерности прослеживаются, что и может заметить нейросеть. Предположим испытуемый будет иметь первый ярлык «Председатель», но НС об этом знать не будет. Характеристики этой личности нейронная сеть может брать из личного дела этого ей будет достаточно. На основе отчетов так же будет формироваться то какой ярлык будет применен к этой личности. В итоге будет повешен ярлык и отправлен первой нейронной сети для обработки и нахождения взаимосвязей. Все это довольно сложно, но это ощутимо добавит точности при выборе нейросетью методологий. Наша цепочка обучилась, и может определить по входным данным какая методология будет оптимальной по времени с учетом особенностей команды разработчиков. Если команда будет постоянно использовать нейросеть для выбора методологий, то шаг за шагом она будет обучаться все лучше и лучше тем самым окупая себя и повышая свою точность. Исходя из этого нейросеть не лучший выход ввиду долгой обучаемости. Посмотрим в чем ещё нам может машинное обучение.
5.2 Вывод
Нейронная сеть не совсем подходит для подобной задачи ввиду большого количества человеческих факторов и долгого и дорогостоящего обучения.
6. Тестирование программного обеспечения с помощью нейронных сетей
Все мы люди и нам свойственно ошибаться. Кевин Митник однажды сказал: «Люди — самое слабое звено в безопасности. Люди, а не технологии». С развитием технологий разработки программного обеспечения всегда остаются одни и те же проблемы. Недоработки, баги, ошибки. Все это появляется из-за человеческой лени, невнимательности или не знания. Эту проблему решает отладка и тестирование.
6.1 Веб-приложение методом без учителя
Тестирование занимает целых шестьдесят процентов от общего времени это самый долгий этап разработки программного обеспечения. Подобное происходит из-за сложности автоматизации данного этапа ввиду отсутствия стохастичности в автотестировщиках и сложности их создания. Лучший вариант это ручное тестирование, ведь никакая программа (на данный момент) не заменит человека полностью. Долго и сложно реализуемо? Снова пользуемся помощью нейронной сети. Для начала необходимо понять, что значит тестирование с помощью нейросети. Сразу необходимо понять, что универсального тестера создать не получится придется создавать для каждой обобщенной задачи отдельно например нейронная сеть, которая тестирует сайты. Для начала попробуем разобраться с её принципом работы и возможно ли её использование в данном направлении. Что подаем на вход? Чего ожидаем на выход? Обучающая выборка будет состоять из проверенных сайтов, на которых нейросеть будет обучаться. Отпустив нашего друга в свободное плаванье врятли мы получим желаемый результат поэтому ограничим НС в плане объектов которые могу присутствовать на сайте это всякие кнопки, бары, чекбоксы и действий, которые может выполнить нейронная сеть. Пока нейросеть развлекается и запоминает, что происходит при таком действии, что при таком, и ищет зависимость мы создаем самый баганый сайт из всех, что есть и настраиваем нейросеть подавать на выход сообщение, если происходящее не совпадает с её ожиданием. Подав на вход данный сайт мы будем получать сообщения о возможных багах тем самым автоматизируем процесс создания Acceptance Sheet.
Веб-приложение. Методом с подкреплением. Кнут и пряник.
На сколько будет точен предыдущий вариант тестирования предсказать сложно так как нейронная сеть может обучится не верно и ожидать нелогичного исхода. Есть второй вариант более долгий, но при этом более точный и универсальный. Нейросеть просто будет следить за действиями тестировщиков тем самым обучаясь используя метод с подкреплением. Она будет в большом объеме получать данные находя связь в них и воспроизводить их. Нейросеть должна фиксировать не только действия на сайте, но и в какой момент тестировщик запишет сообщение о баге для нахождения связи. Здесь мы уже получим более точный вариант автономного тестировщика. Но в тоже время и там и там присутствует человеческий фактор, который описать функцией не самая простая задача поэтому нейросетям сложно дается человеческая стохастичность.
6.2 Тестирование программного обеспечения
При тестировании ПО мы так же как и предыдущем разделе можем использовать метод с подкреплением. Крайне универсальный метод позволяющий научить нейронную сеть практически чему угодно. Поставим нейросеть следить за огромным колличиством тестеров. Разделим её функции на функциональное тестирование и нефункциональное тестирование. Нейросеть отвечающая за функциональное тестирование будет основываться на техническом задании. Для её обучения воспользуемся набором ТЗ и найденных программистами багов в этих программах. Здесь тоже можно воспользоваться нейросетию из пункта 5 для добавления ярлыков в данные подающиеся на вход. Таким образом НС сможет оповестить о возможных багах или ошибка так же постоянно само улучшаясь со временем и подстраиваясь под определенную команду разработчиков. Для нефункционального тестирования можно использовать обычные программы так как нейросеть здесь будет лишь усложнением.
6.3 Вывод
Нейронная сеть хорошо подойдет для тестирования сайтов, но при этом на обучение придется потратить не мало времени. Примерно то же самое все обстоит и с тестированием программного обеспечения, но несколько хуже и тяжелее в реализации самого тестирования.
7. Заключение
Подытожив, можно сказать, что использование нейросетей для разработки программного обеспечения ускорит процесс, но не во всех случаях. Все выше сказанное конечно же только в теории работает, на практике все может оказать не так радужно, но работа заключается в исследовании возможности хотя бы в теории ускорить разработку программного обеспечения с помощью нейронной сети. Моим итоговым результатом исследования является ответ: да и не только в теории, но при индивидуальных подходах и анализе человека как личности будут большие проблемы, которые на данный момент сложно преодолеть. Для полноценного использования нейросетей как помощников необходимо долгое обучение, которое в дальнейшем окупиться. Лучше всего нейросеть подходит для создания технического задания, а точнее для упрощения взаимодействия между исполнителем и заказчиком. Нейросеть разрушает коммуникативный барьер чем ускоряет и облегчает весь процесс. Так же стоит подметить возможность использования нейросетей в тестировании тоже крайне полезна. Нейронная сеть может предсказать возможный баг чем ускорит тестирование. Это не кардинально ускорит процесс, но немного его облегчит. К сожалению в подборе методологий нейронные сети не очень эффективны. Нейронная сеть не может начать понимать чувства людей поэтому выбирать методологию она может только исходя из статистических данных.
Нейронные сети развиваются семимильными шагами и кто знает как быстро в наших домах появятся те самые человекоподобные андроиды, которые (
(Андроид София)
Список литературы
Николенко, С. Глубокое обучение: Погружение в мир нейронных сетей / С. Николенко, А. Кадурин, Е. Архангельская – Санкт-Петербург – Глубокое обучение. – СПб: Питер, 2018 – 480 с.: ил. – (Серия «Библиотека программиста»).
Комментарии (21)
NABIRIY Автор
04.06.2018 02:04А это опять бессмысленное утверждение. «Если не брать 100%
точности вполне хватит для предсказания до сотой значимой части. Возьмите 99.9% и найдите набор не связанных чисел.lair
04.06.2018 02:19Возьмите 99.9% и найдите набор не связанных чисел.
Ну так вывод любого современного CSPRNG. Если бы вы могли, глядя на вывод, определить, что это набор связанных чисел, вы бы опровергли их безопасность как CSPRNG.
(при этом, кстати, это пример связанных чисел, просто вы никак не можете это определить)
Хотите истинно случайные данные? Возьмите радиоактивное вещество и меряйте время распада каждого конкретного атома: "...if a single unstable atom is placed in a controlled environment, it cannot be predicted how long it will take for the atom to decay—only the probability of decay in a given time." (wiki)
NABIRIY Автор
04.06.2018 02:27Хотите истинно случайные данные? Возьмите радиоактивное вещество
в их случайности я не сомневаюсь, но кто сказал что после их выпадения они не будут связанны? Для предсказания распада полученная функция не будет годна (хотя хз не пробовал может и будет какая-то точность но маленькая как говориться «легко рассуждать сидя на удобном стуле»), но функция то будет и данные будут связанны пусть и не годны для предсказания. Мы же обсуждаем связанны ли любые последовательности чисел.lair
04.06.2018 11:08Для предсказания распада полученная функция не будет годна [...], но функция то будет и данные будут связанны пусть и не годны для предсказания.
Если ваша функция негодна для предсказания, значит, она не смогла обнаружить закономерность в данных. Ну и зачем она такая нужна?
Мы же обсуждаем связанны ли любые последовательности чисел.
Я боюсь, у нас с вами разное понятие "связи".
Полиномиальная функция 4 степени y = 0.208x4 — 3.083x3 + 14.79x2 — 25.91x + 17
3,3,6,6,2,-2 больше данных выше точность дайте больше чисел и пару минутИзвините, но вы даже в допустимый диапазон значений не попали. Ваш предиктор имеет качество хуже генератора случайных чисел (что считается наихудшим результатом в машинном обучении).
NABIRIY Автор
04.06.2018 02:45Впрочем, вот вам более простой пример: 3, 3, 6, 6, 2. Предскажите следующее число.
Полиномиальная функция 4 степени y = 0.208x4 — 3.083x3 + 14.79x2 — 25.91x + 17
3,3,6,6,2,-2 больше данных выше точность дайте больше чисел и пару минут
decomeron
04.06.2018 12:47Очень интересно. Но и многое не понятно
Понятно только одно. Машины не умеют думать и «видеть». То есть могут делать то, чему научил из человек. Например возьмем игру в пятнашки. Как вы знаете, там нужно собрать костяшки от 1 до 15 подряд. Машина сможет собрать из перебрав все варианты, впрочем, как и человек. Но, это лишь в том случае, когда машина будет «видеть» цыфры на костяшках, а если не будет? Какая вероятность что машина соберет их правильно? если ее не научить?
Может, конечно, этот пример и не подходит, но хотелось бы знать можно будет это или нет
decomeron
04.06.2018 12:55И еще
Человек с трудом принимает что-то новое когда он уже привык. Даже если лопата удобнее, проще, легче человек продолжит использовать палку, чтобы выкопать яму. Очень ярко это видно между поколениями. Бабушки имея возможность оплачивать коммуналку из дома через интернет, предпочитают проехать пол города. Почему?
Тут вообще все собрано в кашу.
Если лопата удобнее человек и будет использовать лопату. Если, конечно, ее не нужно будет придумать. Человек сначала копал палкой, а потом, все-таки, придумал лопату? хотя наверно прошло и много времени. И это не от того что была у него привычка копать палкой, а просто до лопаты он еще не додумался. А когда додумался то понял, что лопата удобнее.
Теперь насчет бабушек. Вы тоже не правильно выразились. Почему бабушка едет через пол-города чтоб оплатить коммуналку, да потому что она не умеет пользоваться компьютером. И не потому что не хочет и ей лучше сьездить, а потому что не может научиться. Старость, что сказать. Хотя и бабушки бывают разные. Например моя, так она многое умеет и хочет научиться большему. Поэтому нельзя ровнять всех бабушек. Хотя, в дальнейшем, когда все те, кто может и умеет пользоваться компьютером будут бабушками и дедушками, думаю, вряд-ли поедут, когда все можно сделать в интернете.
lair
Вы, я надеюсь, помните, что у нейронной сети на входе и выходе — числа?
NABIRIY Автор
Я имел ввиду уже готовые размеченные данные представленные в числах.
Слова можно преобразовать в числа например по частоте использования.
Код так же можно представить в числах по тому же принципу.
Конечно же это все в теории радужно и я понимаю что по факту работать это будет с маленькой вероятностью.
lair
И кто же будет делать эту разметку, и во сколько она обойдется?
Код. В числах. По частоте использования.
Серьезно?
NABIRIY Автор
разметка со временем удешевиться, а второе почему нет? Можно хоть построчно пускать код в битах. Нейросеть для того и сделана чтобы найти зависимость в по сути не связанных вещах(как одна из её функций).
lair
С какой радости?
Потому что это бессмысленная информация.
Вы себе объем такой сети представляете, хотя бы количество входов?
Нельзя найти зависимость в несвязанных вещах; можно найти зависимость в связанных вещах, которую мы просто ранее не замечали.
NABIRIY Автор
1
Разметка удешевится в связи с развитием этой области, сейчас уже появляются вакансии на должность «разметчика»(есть нормальное название, но я его не помню).
2
Ну для вас возможно и бессмысленная, а для сетки кто знает.
3
я имею ввиду итерационно пускать строки.
4
Это ваше мнение я склонен считать, что зависимость можно найти в любом наборе чисел. Если сможете доказать обратное я не против)
lair
Ну то есть вместо человека надо взять человека и сеть?
И для сетки тоже. Garbage in — garbage out.
И что? Нельзя дать осмысленный ответ для одной строки кода/ТЗ, значит, вам понадобится "память". Снова возвращаемся к объему сетки.
Это означает, что любой набор чисел — связанный (если бы вы могли там найти зависимость). Найти зависимость в несвязанном нельзя, это не мнение, это определение, отличающее связанные наборы от несвязанных.
NABIRIY Автор
1 обучаем то один раз.
2 ну хорошо
3 вполне. Для подобного придется придумать другой подход.
4 а к чему было начинать спор? Если любой набор чисел связанный, а данные можно представить в числах то и выходит, что связать мы можем любые данные, а вот что получится на выходе не узнать не попробовав.
lair
Тогда возвращаемся к вопросу, как вы собираетесь подавать нейросети на входе сайт.
Вот про это я и говорю: предложенное вами неработоспособно.
К вашему (неверному) утверждению, что "нейросеть для того и сделана чтобы найти зависимость в по сути не связанных вещах"
если он связанный. Это, прямо скажем, не доказано.
Если бы это было так, вы могли бы взломать любой криптографический генератор случайных чисел, но, к счастью для всех нас, это невозможно.
NABIRIY Автор
извиняюсь «на первый взгляд не связанных вещах»
если не брать 100% точность то мне кажется не найдутся такие числа у которых нет связи
Я бы не спешил говорить о невозможности P!=NP ещё не доказано.
lair
А это опять бессмысленное утверждение. "Если не брать 100% точность", то можно утверждать, что последовательность бросков идеальной монеты — связана: мы всегда можем предсказать следующий результат с точностью 50%. Только какая нам от этого польза?
А при чем тут P!=NP?..
NABIRIY Автор
случайно ответил как комментарий прошу глянуть ниже