0. comol 3973 27.06.17 16:10 Сейчас в теме

Применение нейронных сетей и генетических алгоритмов в прикладных решениях на платформе 1С

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

Перейти к публикации

Лучшие комментарии
24. dmurk 266 04.07.17 10:25 Сейчас в теме
Для желающих, есть пример ГА из моих старых наработок:
Общий модуль Генетические Алгоритмы
nnn123; CyberCerber; корум; stilet; Alex17; milkers; FarhadIlyazov; comol; +8 Ответить
Остальные комментарии
Избранное Подписка Сортировка: Древо
1. spezc 569 03.07.17 10:13 Сейчас в теме
ничего про нейронные сети не понял, но за труды держите звезду.
Aquashop; invertex; formica32; TuMyP1985; ustinov_greendale; demkonst; manlak; FarhadIlyazov; Romakon92; Dmitri93; DmitryKSL; +11 Ответить
2. Solovyeff 03.07.17 10:51 Сейчас в теме
Код 1С я здесь даже не привожу, потому что он будет у каждого свой – нужно просто запомнить последовательность действий.

Вот на пример кода 1С было бы весьма интересно взглянуть. Если вам не затруднительно, может добавите в статью?
invertex; kar911; formica32; Irwin; CyberCerber; demkonst; Goxanov; Трактор; fancy; Amadeuc404; Rain88; Romakon92; Dmitri93; Angealtor; sasha777666; +15 Ответить
3. comol 3973 03.07.17 10:57 Сейчас в теме
(2) Не, не пришлю... стыдно, да и конкретная там транспортная задача решается будет особо ниочём
13. starik-2005 1913 03.07.17 16:19 Сейчас в теме
(2)
Вот на пример кода 1С было бы весьма интересно взглянуть
А в чем сложность написать код? Все же и так разжевали: генерите рандомом первую популяцию, вызываете функцию нахождения лучших "особей", отвечаете на вопрос, есть ли среди них достаточного уровня перс. Если есть - ура, угадали с первого раза, если нет - вызываете функцию скрещивания, порождая новых персов из старых данных (у одного ребенка тут может быть и больше двух родителей). Дальше снова пункт 2. Если в течение энного количества итераций не находите улучшений, а достойного перса все нет, то вызываете функцию мутации популяции, где какой-то процент генов меняются на новые. Ну и так до победного конца.
pvlunegov; +1 Ответить
20. Makushimo 154 04.07.17 05:55 Сейчас в теме
(13)
Да там все еще проще, чувак,
Открываешь 1С
гуглишь матлаб
жмешь кнопку и все
начальник доволен

и правда, о чем весь сыр-бор ))
juliia1992; formica32; CyberCerber; корум; PowerBoy; sergelemon; comol; RainyAugust22; +8 Ответить
32. starik-2005 1913 04.07.17 14:54 Сейчас в теме
(20)
Да там все еще проще, чувак,
Открываешь 1С
гуглишь матлаб
С учетом того, что я описывал генетический алгоритм, Ваш ответ смотрится странно...
39. Makushimo 154 05.07.17 05:12 Сейчас в теме
(32) Вы именно так и "описали" этот генетический алгоритм. В смысле так же понятно как и я.
Вы в теме, я - нет.
Ваше "описание" для тех, кто не в теме (для меня) выглядит именно так - непонятно.
Порождает еще больше вопросов.
formica32; +1 Ответить
46. starik-2005 1913 05.07.17 11:10 Сейчас в теме
(39)
Порождает еще больше вопросов.
Ну давайте вопросы. А то Ваша статья даже их не порождает (в плане ГА).
48. Makushimo 154 05.07.17 11:51 Сейчас в теме
(46) Я статьи не писал, я же не в теме. Я статью читаю эту. И ничего не понимаю из нее. Вон автор уже намекнул как это "печально".
Вопросы я уже в комментарии выше указал. именно мелочей и не хватает для понимания. Но кому они нужны (может автор и сам в них не силен) мелочи эти?.

По вашему комментарию, раз уж вы заявили себя понимающим в этом вопросе, то может разъясните неучу.

"генерите рандомом первую популяцию"
если речь идет о примере в статье, то конкретно в цифрах и по пунктам, что за популяция и почему рандомом?

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

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

"Дальше снова пункт 2. Если в течение энного количества итераций не находите улучшений, а достойного перса все нет, то вызываете функцию мутации популяции, где какой-то процент генов меняются на новые. "
тут я понял что скрещивание от мутации отличается некими "новыми генами". А что это? Откуда их брать?

"Ну и так до победного конца"
Когда конец победный?

Если лень писать, то пошлите меня на... в гугл или киньте ссылкой
50. starik-2005 1913 05.07.17 13:04 Сейчас в теме
(48)

По вашему комментарию, раз уж вы заявили себя понимающим в этом вопросе, то может разъясните неучу.

"генерите рандомом первую популяцию"
если речь идет о примере в статье, то конкретно в цифрах и по пунктам, что за популяция и почему рандомом?

Пример простой. Вот есть, допустим, у Вас некоторая задача коммивояжера. У него есть Эн пунктов, и есть время перемещения между любыми двумя пунктами. Т.е. такой массив, в качестве значения которого структура описанием точки и временем переезда из нее в любую другую точку (типа так {x:1; x1: 0; x2: 5; x3: 10; ...}, где х - номер точки, х1 - время до первой точки (0), х2 - время до второй точки и т.д.). Дальше нам нужно решать, в какой последовательности это все нужно объехать, чтобы было быстрее. Для этого в генетическом алгоритме создается популяция, создается она случайно, типа так: 1, 3, 7, 2, 5, 8, 4, 6 (для 8-ми точек) Циферки просто берутся случайно. Абсолютно случайно. Никакой мистики. Можете вообще так взять: 1, 2, 3, 4, 5, 6, 7, 8. это у нас экземпляр получился. Но для того, чтобы получить некоторую выборку, которую нужно сравнить между собой, нам нужно несколько экземпляров создать. Сколько - на Ваше личное усмотрение. Это понятно? Как нагенерить случайных экземпляров Вам не нужно рассказывать, или Вы даже это не понимаете?


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


И что тут непонятного? Просто проверяете, что из ваших экземпляров лучше. Т.е. в цикле смотрите время для первого, второго, третьего и прочих... В итоге, допустим, у Вас есть 8 экземпляров, которые случайным образом собрались. Они должны быть разными. Из них получилось 4 лучше, 4 хуже. Оставляете лучших, проверяете, укладываетесь ли Вы в целевое время (30 минут, например). Если нет - производите скрещивание. Как скрещивать - на Ваш выбор. Например, берете сумого крутого и скрещиваете с ТОП 2 по четные из первого / нечетные - из второго, но при этом нужно, чтобы не было двух одинаковых. Это можно сделать случайным образом, а можно выбрать лучшие дуги из разных особей (например, если дуга 1 в первом экземпляре лучше, чем во втором - берем из первого, если хуже - из второго). Тут как раз простор для творчества.


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

Ну если вы поставили целевое время 30 минут, то проверяете, уложился ли Ваш экземпляр в это время. Если уложился - вот он, наш герой! Берем его и не парим дальше моск. Если не уложился ни один из нагенеренных экземпляров, то производим скрещивание.



"Дальше снова пункт 2. Если в течение энного количества итераций не находите улучшений, а достойного перса все нет, то вызываете функцию мутации популяции, где какой-то процент генов меняются на новые. "
тут я понял что скрещивание от мутации отличается некими "новыми генами". А что это? Откуда их брать?

"Ну и так до победного конца"
Когда конец победный?

Новые гены - это такие дуги, которых нет в выживших экземплярах. Т.е. если мы описываем 1,2,3,4,5,6,7,8, то у нас нет дуги, например, 1,3 (из первой точки в третью). давайте ее добавим (опять же выбираем дугу случайным образом, а потом проверяем, лучше ли она тех дуг, которые есть и меняем, например, самую нехорошую дугу на нее, но при этом у нас в экземпляре должны остаться все точки. Можно просто генерить дугу рандомом и смотреть, получится ли на нее что-то заменить. Ну и дальше опять считаем время для получившихся экземпляров и сравниваем с целевым временем. Также запоминаем где-то в каждой итерации лучший экземпляр, который можем выставить в качестве победителя через энное количество времени, если за это время мы не нашли экземпляра, укладывающегося в целевое время.

Если лень писать, то пошлите меня на... в гугл или киньте ссылкой

Кто-то тут чуть выше ссылался на гитхаб с каким-то кодом.
52. Makushimo 154 05.07.17 14:11 Сейчас в теме
(50)одно уточнение: самая нехорошая дуга - это дуга с самым большим временем среди имеющихся в экземпляре?
53. starik-2005 1913 05.07.17 15:49 Сейчас в теме
(52)
самая нехорошая дуга - это дуга с самым большим временем среди имеющихся в экземпляре?
и такое может быть. Все зависит от конкретной реализации. Самой плохой может быть и другая дуга, для которой просто есть вариант лучше, при этом для дуги с худшим временем нет лучшего варианта. Т.е. тут как раз пространство для творчества.
54. Makushimo 154 06.07.17 11:45 Сейчас в теме
(53) Спасибо за разъяснения
4. Makushimo 154 03.07.17 12:47 Сейчас в теме
ндааа, интересно бьло бы подетальнее в 1С увидеть.
Вот делаем выборку для создания/обучения
Вот когда используем сеть, то делаем еще выборку.... ээээ?
А что мы тогда вначале выгружали?

Не прозрачно, как в работе выглядит использование сети.
Пример с правильным программистом не внес ясности.

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

Как и всегда на конференциях многа слов и ничего полезного.

Пойду гуглить, и зачем тогда статью читал?..
formica32; CyberCerber; manlak; zqzq; Sergafan10; MSK_Step; +6 Ответить
14. comol 3973 04.07.17 00:50 Сейчас в теме
(4) э... для нейронных сетей же есть пример.... Я даже не знаю что ещё можно добавить
21. Makushimo 154 04.07.17 06:07 Сейчас в теме
(14) Ваш пример ничего не показывает и не объясняет.

Гораздо полезнее было бы этот пример изложить в таком виде:

- У меня есть такой набор данных.
- Хочу, чтобы мой отчет выдавал такие вот данные
- Ага! Для этого мне понадобится нейросеть
- Готовлю для создания/обучения сети вот эти данные
- Дальше создаю нейросеть
- Объясняю, что теперь может делать эта нейросеть
- Показываю, в 1С подаю на вход нейросети такой вот набор данных,
- Объясняю что этот набор данных отличается от набора для обучения (или не отличается и почему)
- На выходе получаю нужный набор данных в отчете.
- В конце читателю должно быть кристально ясно, КАК работает нейросеть для решение именно ЭТОЙ задачи
- А также понимание того как читатель сможет сделать и применить нейросеть для своих задач, если захочет
- Должно быть понимание того, что нейросеть пережевала данные со входа на выход именно таким образом потому что мы ее обучили на этих данных

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

Ваша цель чему то научить или похвастать?
kauksi; formica32; Goga1979; CyberCerber; Kirill_K; Sashares; Goxanov; корум; PowerBoy; sergelemon; +10 Ответить
25. comol 3973 04.07.17 10:25 Сейчас в теме
(21)
Гораздо полезнее было бы этот пример изложить в таком виде:

Слушайте, ну таких видео полный ютуб... я как то не хочу быть попугаем...

https://www.youtube.com/watch?v=2afTCq1IWNc

Потому что потом найдётся другой человек, который будет кричать "баян" и обвинять в "копипасте" :)))
пример как это использовать в 1С я показал.

читателю должно быть кристально ясно, КАК работает нейросеть

Если бы я мог это рассказать был бы уже Нобелевским лауриатом
40. Makushimo 154 05.07.17 05:15 Сейчас в теме
(25)
Слушайте, ну таких видео полный ютуб... я как то не хочу быть попугаем...

а зачем статья тогда? конференция все дела? что нужного и полезного эта статья по-вашему несет?
formica32; +1 Ответить
44. comol 3973 05.07.17 09:58 Сейчас в теме
(40)
что нужного и полезного эта статья по-вашему несет?


Ну если вам ничего не принесла то либо вы уже эксперт в НС, либо это печально :(.

Статья и доклад никоим образом не претендуют на исчерпывающую информацию - только "стартовый толчок" к изучению новой (если новой) технологии.
47. Makushimo 154 05.07.17 11:40 Сейчас в теме
(44) нормально так соскочил с темы ))
Ладно, закроем эту бесполезную полемику.
5. TODD22 17 03.07.17 12:50 Сейчас в теме
Я вот то же не особо понял прикладную часть. Ну нейросети... ну классно. А что там в итоге на практике получилось? Какая задача была решена, какой эффект, сравнение с другими способами...
А то получается нейросети, ради нейросетей....
formica32; VVi3ard; lobster; CyberCerber; zqzq; +5 Ответить
15. comol 3973 04.07.17 00:51 Сейчас в теме
(5) Ну задача в частности решалась прогнозирования финансовых потоков... по понятным причинам конкретный пример выложить не могу :).
Да ещё и не знает же никто что там нейронная сеть работает :)
19. TODD22 17 04.07.17 05:13 Сейчас в теме
(15)А на сколько точно прогнозирует? Я думал над тем что бы сделать прогноз продаж для прогнозирования потребности в товарах. Но что то руки не доходят... :)
23. comol 3973 04.07.17 10:20 Сейчас в теме
(19)
А на сколько точно прогнозирует?
зависит только от вашей фантази... ну и от фазы луны пожалуй :).

Если серьёзно, то очень много влияющих факторов, "средняя температура по больнице" будет. Достаточно знать что точно НС прогнозируют лучше чем линейная регрессия... даже для приводимых к линейным задач. В некоторых случаях векторные машины или деревья решений могут давать лучшие результаты, но не угадаешь.
28. TODD22 17 04.07.17 10:28 Сейчас в теме
(23)Я понимаю что разные инструменты дают разную точность.
На практике какой точности удалось добиться? Например программа прогнозирует что на следующей неделе поступит 100500 млн мексиканских пессо. А на деле через неделю смотрим и видим что пришло только 100100 млн мексиканских пессо?
На сколько у вас прогноз с фактом сходится?

Иногда на досуге почитываю по ML. В тестовых примерах погрешность в 8-10% считается удовлетворительной для учебных задач.
29. dmurk 266 04.07.17 10:34 Сейчас в теме
(28) На практике сталкиваешься с ошибкой построения хромосом. Например, применение ГА для поминутной оптимизации производственного плана, на первом этапе показало, что посчитанный производственный план нереален, так как:
1. в хромосому необходимо было заложить время на транспортную операцию
2. не была учтена задержка времени реакции рабочих на следующий пункт плана
3. оценочная функция не учитывала ограничение по складским площадям для хранения полуфабрикатов
30. TODD22 17 04.07.17 11:00 Сейчас в теме
(29) Я спрашивал не про ошибки построения хромосом. А про то какие результаты получили на практике....
31. dmurk 266 04.07.17 13:04 Сейчас в теме
(30) На практике:
1) Неудовлетворительный результат для решения задач прямолинейного раскроя
2) Неудовлетворительный результат для решения задач оптимизации производственного процесса
3) Приемлемый результат для решения логистической задачи доставки товаров грузовиками
41. TODD22 17 05.07.17 06:56 Сейчас в теме
(23) Олег так не расскажите на сколько в итоге план с фактом совпадают при прогнозировании денежных потоков?
43. comol 3973 05.07.17 09:56 Сейчас в теме
(41) Вы сами то ещё не поняли, что ваш вопрос звучит примерно как
"Каково среднее время внедрения 1С?" :)))))))
45. TODD22 17 05.07.17 10:09 Сейчас в теме
(43) Вы пишите:
Ну задача в частности решалась прогнозирования финансовых потоков... по понятным причинам конкретный пример выложить не могу :).


Вот я и спрашиваю на сколько точно прогнозирует финансовые потоки нейросеть ?

При чём тут среднее время внедрения?
6. Baksheev-Nikita 392 03.07.17 12:59 Сейчас в теме
Хорошая статья, сложная тема, так понятно описана. Поставил звезду. Спасибо
starik-2005; +1 Ответить
7. Nigmatul 03.07.17 13:11 Сейчас в теме
Давно искал подобную статью где разжевали на эту тему. Лови зеленку
8. Sybr 235 03.07.17 14:08 Сейчас в теме
МатЛаб, 1С... Нет бы, свой микросервис написать с нейронкой на tensorflow. Прокачать скиллы в современных технологиях, практической ценности в машинном обучении в задачах, которые на 1С решаются, пока не видно.
formica32; +1 Ответить
16. comol 3973 04.07.17 00:52 Сейчас в теме
(8)
Нет бы, свой микросервис написать с нейронкой на tensorflow

Ну это из пушки по воробьям... :). Для задач обычной регрессии оно конечно не нужно.
9. МихаилМ 03.07.17 15:03 Сейчас в теме
для начинающих советую книгу по нс
http://www.neuroproject.ru/Papers/Neurocomputing.htm

конечно основной массе 1с-ников нужен сквозной понятный пример

матлаб стоит от 200 т.р. те для разовых задач уговорить купить руководство сложно
11. starik-2005 1913 03.07.17 15:38 Сейчас в теме
(9)
матлаб стоит от 200 т.р. те для разовых задач уговорить купить руководство сложно
Ну есть же библиотеки для C++ и прочего. Суть сети - это линейная алгебра . Фактически строится матрица состояний, а потом для входящих данных производится некая sign-функция, сопоставляющая матрицу состояний с входящими данными для получения некоторого элемента N, который очень походит на входящий. Т.е. мы берем эти четыре параметра и получаем такой искомый элемент входа, на который данная комбинация максимально похожа. Это в таком примитивно упрощенном варианте. Т.е. если у нас на входе посетители, день недели, месяц и продажи, то зная, что мало продаж - это что-то ниже какого-то среднего, а много продаж - выше, мы получаем некую оценку "много/мало" (можно и "средне по больнице") на основании этих показателей. По-сути, тут как раз нейросеть и не нужна особо, но для примера вполне пойдет.

https://vk.com/proglesson?z=video-114520171_456239017%2F078a12eb751a8f30da%2Fpl_wall_-114520171
18. comol 3973 04.07.17 00:56 Сейчас в теме
(11)
По-сути, тут как раз нейросеть и не нужна особо
Ну всё-таки от линейной регрессии даже тут будет намного лучший результат..
34. s22 19 04.07.17 18:41 Сейчас в теме
(9) не советую читать книги позднее 2016
все кардинально изменилось.
сейчас нейронная сет с батчнормализацией, регуляризацией, с релу, модулем внимания, "мечтаниями" и прочими радостями обучается в десятки раз быстрее и лучне
38. comol 3973 04.07.17 22:34 Сейчас в теме
(34)
десятки раз быстрее и лучне
Интересно что же такого изменилось в алгоритмах обученния и логике построения обычных НС? По-моему уже лет 20 одно и то же. Глубокие НС шагнули вперёд, но не принципами, а появляением новых архитектур....
10. МихаилМ 03.07.17 15:14 Сейчас в теме
может с ценами на мат лаб и ошибаюсь
https://www.mathworks.com/store/link/products?requestedDomain=www.mathworks.com
для версии home - цена терпимая
17. comol 3973 04.07.17 00:54 Сейчас в теме
(10) Ну если говорить о покупке оно конечно того не стоит, есть прекрасные библиотеки для phyton и R. В основном вопрос удобства + 2-3 дня на освоение от дружественного матлаба.
12. Новиков 291 03.07.17 16:05 Сейчас в теме
Статья - введение во введение :)
Для тех кто хочет поглубже копнуть, рекомендую эту книгу.
22. HAMMER_59 169 04.07.17 07:20 Сейчас в теме
"Для тех, кто не изучал их в университете, я сначала напомню теорию – что это такое, для чего это надо"
А те кто изучал ИИ в институте заметили, что очень поверхностный обзор, нейросети есть разные и применяются для разных задач.
Уже отметили в комментариях, что далеко не у всех есть Mathlab, и не дешевое это удовольствие.
26. comol 3973 04.07.17 10:26 Сейчас в теме
(22)
очень поверхностный обзор

Да, это так.
64. user1172627 09.03.19 00:16 Сейчас в теме
в чем проблема скачать с трекера matlab?)
24. dmurk 266 04.07.17 10:25 Сейчас в теме
Для желающих, есть пример ГА из моих старых наработок:
Общий модуль Генетические Алгоритмы
nnn123; CyberCerber; корум; stilet; Alex17; milkers; FarhadIlyazov; comol; +8 Ответить
27. comol 3973 04.07.17 10:27 Сейчас в теме
(24) Пасиб, ткнул в начало... у меня конечно код ГА был такой что не выложишь :)
33. s22 19 04.07.17 18:36 Сейчас в теме
А смысл обучать на 1с?
можно сеть сделать на питоне, вычислить веса и перенести в 1с....
хотя 1с это не для нейронных сетей, так как точно не будет поддержки гпу.
36. comol 3973 04.07.17 22:30 Сейчас в теме
(33)
А смысл обучать на 1с?
Читайте статью... обучать на 1С бессмысленно - обучаем на матлабе
35. s22 19 04.07.17 18:42 Сейчас в теме
вообще идеально было бы реализовать компоненту вызова питоновских функций.
49. v3rter 05.07.17 12:38 Сейчас в теме
Интересно, какую генетическую задачу гоняют на человечестве - 7 миллиардов популяция, 80 миллиардов неудач - и что пытаются вывести? )
51. starik-2005 1913 05.07.17 13:10 Сейчас в теме
(49)
80 миллиардов неудач
Ну само человечество - уже удача. Даже достаточно неудачные экземпляры человека живут по большому счету лучше, чем любой представитель других видов. Типа сидим в инете, смотрим киношки, едим булки, пьем чайок н и т.д. Скучно, но лучше так, чем борьба за существование в дикой природе.
55. starik-2005 1913 06.07.17 12:43 Сейчас в теме
http://mathmod.asu.edu.ru/images/File/ebooks/GAfinal.pdf - ссылка на достаточно крупный труд. Эту ссылку привел один из авторов публикаций, посвященных генетическим алгоритмам. Там как раз описано множество подходов для создания функций скрещивания, мутации и тестирования результата (fitness-func).
56. pvlunegov 140 04.07.18 14:36 Сейчас в теме
Большое спасибо автору за гениальный принцип создания и применения нейросетей в 1с.
Насчет тех, кто хает статью.
В двух словах объяснить, что такое генетический алгоритм, что такое нейросеть, зачем они нужны и как их применять - невозможно.
Кому надо - читайте научные статьи.

Мне очень понравился простой принцип генерации dll из исходной матрицы данных из 1с для использования внутри 1с.
Матлаб не изучал на эту тему.
Скорее попробую данный принцип в применении 1с.

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

Можете почитать научные статьи, коих полно.

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

Это вопросы являются краеугольным камнем эффективности гипермаркета, они важны для директора магазина.

Для владельца торговой компании средней руки те-же вопросы формулируются одинаково, только заменяем термины:
Покупатель на Контрагент
Касса на Сайт
Продавец на Менеджер.
57. pvlunegov 140 04.07.18 14:41 Сейчас в теме
Благодаря применению нейросетей можно по данным 1с формировать оперативные отчеты по статистическим данным.
Чем быстрее приходят данные в 1с и чем более они актуальны, тем лучше будут прогнозы нейросетей.
Например, сделать нейросеть, обученную на:
1. Каких товаров не хватает на складе, Какие товары скоро закончатся на складе, в течении дня, в течении нескольких часов
2. Благодаря нейросети 1. Создать нейросеть 2, которая оперативно формирует заказы поставщикам по товарам, по которым СКОРО БУДЕТ НЕХВАТКА на складе.
3. В помощь нейросети 1 создать нейросеть, ПРЕДСКАЗЫВАЮЩУЮ скорые продажи товара и его нехватку на складе. Берутся статистические данные по продажам, активности покупателей - делается ближайщий прогноз.
Данные нейросети 3 передаются нейросети 1.

Вообще такие связки нейросетей (одна нейросеть оперирует результатом работы другой нейросети) и есть искусственный интеллект.
58. starik-2005 1913 05.07.18 17:52 Сейчас в теме
(57)
Вообще такие связки нейросетей (одна нейросеть оперирует результатом работы другой нейросети) и есть искусственный интеллект.
Вообще это в тех же нейросетях называется "многослойный перцептрон". И там связи тоже разные между слоями.
59. pvlunegov 140 06.07.18 08:21 Сейчас в теме
(58) в теории нейросетей связи между слоями называются просто связями.
Многослойный перцептрон это частный случай нейросети где несколько слоев связаны сетью связей.
Я говорил про принципиально другое.
Я говорил про общее логическое взаимодействие нейросетей.
Неважно как они связаны. В общем случае они вообще никак не связаны, данные могут передаваться через почту, xml, http, любым способом.
Важно то что выходные данные одной нейросети передаются на вход другой.
Передавать данные в общем случае может алгоритм 1с по условиям и желаниям программиста.
Это дает принципиальную свободу выбора.
Например, получили данные нейросети, проанализировали их, исходя из анализа передали на обработку другой нейросети (какой именно передавать - решает алгоритм анализа данных)
60. starik-2005 1913 06.07.18 11:16 Сейчас в теме
(59)
Важно то что выходные данные одной нейросети передаются на вход другой.
Просто Вы описываете концепцию многослойного перцептрона. Там же как все устроено? Вот есть некая матрица состояний - S-элементы, и есть связи с матрицей понятий - A-элементы. Чем больше получился вес связей, тем выше вероятность, что вот именно этот А-элемент и является ответом на возбуждение. И этот А-элемент является S-элементом для второго слоя логики, который связан с понятиями другого плана. Но обучать ты систему должен комплексно, иначе как поямешь, что этот сформированный выход первого слоя к каким элементам второго привязан по весам? Так что просто без обучения это все бесполезно.
61. pvlunegov 140 06.07.18 12:21 Сейчас в теме
(60) вы сказали: "Просто Вы описываете концепцию многослойного перцептрона."
Не согласен.
Всем известно, что в многослойном перцептроне несколько слоев нейронов связаны случайными связями (эти связи образуются в момент обучения перцептрона на выполнение определенного круга задач).
У меня совершенно другая концепция.
Обычному специалисту 1с средней руки на сегодня незнакомы ни нейронные сети, ни перцептроны. Он в состоянии посмотреть в кратце что это, но не знает как с этим работать.
Зато его можно обучить работе в матлабе. и даже тому, как обучить простейшую нейросеть в матлабе для конкретной задачи.
Можно показать ему что результаты работы одной нейросети можно использовать для исходных данных работы другой нейросети.
Эта задача обучения посложнее, но можно показать на примерах.
62. starik-2005 1913 06.07.18 13:43 Сейчас в теме
(61)
Всем известно, что в многослойном перцептроне несколько слоев нейронов связаны случайными связями
Кто эти все?
Сам перцептрон уже многослоен - в нем есть слои А- и S-элементов, Но суть все-равно та же: анализ первой S-матрицы сигнальных элементов определяет А-элемент, который во второй нейросети становится S-элементом. То же самое, когда есть второй слой нейросети. Но обучаться они должны совместно, т.к. сначала ты сеть обучаешь на определенном наборе данных, а потом используешь накопленную статистику для определения связанного элемента. И тут уже эффективность повышается наличием обратной связи. И если просто взять две обученных нейросети, результат одной из откорых должен стать сигналом для второй, и не использовать совместное их обучение и обратную связь, то это снижает эффективность такого обучения и количество ошибочных суждений второй сети будет на порядок выше, чем количество ошибочных суждений первой сети, т.к. сигнал будет искажаться относительно выборки при отдельном обучении.
63. pvlunegov 140 08.07.18 15:28 Сейчас в теме
(62) Чего вы добиваетесь этим академическим спором?
Хотите поразить всех читающих своим интеллектом?
я предложил применение на практике для конкретных задач.
А вы начали и продолжаете свой спор о теории нейросетей. Зачем это?
Или вы хотите втоптать меня в грязь показав что лучше понимаете нейросети?
Окей, может вы и лучше их понимаете, я могу признать, если вам от этого станет легче. Спор окончен?
Приступим к практике?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Москва
зарплата от 120 000 руб.
Полный день

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Программист 1С
Самара
зарплата от 100 000 руб. до 150 000 руб.
Полный день

Программист 1С
Тюмень
зарплата от 65 000 руб.
Полный день