Обучение машин
Текст: Алексей Кириллов | 2019-04-19 | Фото на заглавной странице: © Akarat Phasura / 123rf | 28274
При слове «обучение» мы, конечно, в первую очередь представляем себе школу или институт — места, где одни люди передают свои знания другим. Однако с развитием искусственного интеллекта наш лексикон пополнился и понятием машинного обучения. О том, что такое искусственный интеллект, в каких областях он наиболее перспективен и как его сегодня обучают, мы пообщались с экспертом в области машинного обучения Иваном Ямщиковым.

— Для начала хотелось бы разобраться, что всё-таки представляет собой искусственный интеллект? И где та грань, которая отличает обычную компьютерную программу от искусственного интеллекта?

Идея делать умные машины достаточно давняя — её предложили Чарлз Бэббидж и Ада Лавлейс уже почти два века назад. Так, Бэббидж, создавая аналитическую машину, говорил о своём желании заставить пар думать за нас. Если же мы посмотрим на первые алгоритмы искусственного интеллекта, которые появились в машинном обучении и по-настоящему стали работать, то это был уже конец 50-х — начало 60-х годов прошлого века, когда Вапник и Червоненкис предложили метод опорных векторов — один из методов машинного обучения. Он до сих пор используется в огромном количестве прикладных задач.

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

А что касается ответа на ваш вопрос, то здесь я бы предложил очень простое определение: если машина (робот, компьютер) делает что-то, что вам кажется умным, то это вполне можно называть искусственным интеллектом, и не надо разбираться, что за этим стоит, потому что это может оказаться даже стандартный набор правил «if … else …» (если … то  …). Более того — есть много довольно успешных продуктов, строящихся вокруг широкого набора правил. К примеру, чат-боты, которые сейчас очень активно захватывают новые области, в частности электронной коммерции, автоматизации поддержки и так далее — это зачастую просто развесистый набор правил того, как вести диалог.

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


© Andrew Dunn / wikipedia; неизвестный автор

Чарлз Бэббидж (1791—1871) — английский математик, изобретатель первой аналитической вычислительной машины. Справа: одна из шести демонстрационных моделей вычислительной части разностной машины Чарлза Бэббиджа, собранная после его смерти сыном Генри из деталей, найденных в лаборатории. Подразумевалось, что машина позволит заменить огромное количество людей, занимающихся вычислением различных астрономических, навигационных и математических таблиц.

— Какие области сейчас считаются наиболее перспективными для внедрения решений, связанных с искусственным интеллектом и машинным обучением в частности?

В первую очередь, это всё, что касается поиска и обработки информации в том или ином её виде. На взаимодействие со всевозможной информацией мы тратим очень много своего времени и ресурсов, хотя обычно об этом и не задумываемся. К примеру, значительная часть любого бизнеса — это коммуникации с контрагентами, и их можно сделать намного эффективней, оцифровав бумажный документооборот. Понятно, что работать с бумагой совершенно невозможно, особенно в больших масштабах, и первый шаг — это вытащить из неё всю информацию, сделать её доступной. Но для этого нужны нейронные сети, которые увидят картинку, выделят из неё текст, разложат текст на буквы, поймут, что значит каждая буква, соберут эти буквы снова в слова. Теперь с этим текстом можно делать всякую тонкую аналитику. К примеру, компания ABBYY, в которой я занимаюсь вопросами искусственного интеллекта, поставляет решения, в том числе и для аудиторов. Аудит проводится фиксированное время, в течение которого надо понять размер долгов контрагента, проверить бухгалтерию, выявить финансовые резервы. Для этого нужно извлечь информацию из огромных пачек документов. Если компания крупная, то для этой тяжёлой монотонной работы может потребоваться 400-500 человек. Но вместо этого такую работу мы можем сделать автоматически, а людей использовать для более разумных занятий, например, для анализа отчётов, которые соберутся на основании оцифрованных данных.

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

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

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

Вообще надо сказать, что оценить вклад искусственного интеллекта в отдельные сектора экономики довольно сложно, и я не видел хороших данных, которые агрегировано по разным секторам и разным странам давали бы такую оценку. Но я люблю приводить цитату главного редактора журнала Wired Кевина Келли, который года два назад сказал, что через 20 лет люди будут смотреть на нас и говорить о нас так же, как мы сейчас говорим о тех, кто сделал бизнес на заре интернет-эры. Люди смотрят на Джеффа Безоса и говорят: «Тебе было легко, ты открыл магазин книжек и всё — теперь ты миллиардер», или на Станислава Гридасова, который создал сайт sports.ru и стал одним из главных спортивных СМИ в России. Сейчас с искусственным интеллектом происходит то же самое, потому что практически в любую область, где человек испытывает монотонную нагрузку, можно внедрить искусственный интеллект и получить прирост в качестве и скорости. Причём в тех областях, где на человека ложится когнитивная нагрузка неприемлемого уровня экстренности (та же самая выплавка металла, например), он просто не может за отведённое время сам достоверно оценить объём информации и принять решение о добавке тех или иных элементов. Другой пример — это диспетчер аэропорта, который должен практически моментально понять, на какую полосу или к какому выходу подавать самолёт. Поэтому сейчас в крупных транспортных узлах для оптимизации принятия такого рода решений используются алгоритмы машинного обучения — просто потому, что за время, отведённое на принятие решения, человек не может сделать это квалифицированно — не успевает.

— А какие задачи на сегодняшний день, наоборот, искусственному интеллекту пока не под силу?

Долгосрочное планирование, принятие любых решений, за которые полагается административная или уголовная ответственность (просто потому, что у нас нет соответствующей юридической базы) и межличностные коммуникации. В тех профессиях, где людям приходится много общаться, шансов у искусственного интеллекта немного. Наконец, сюда можно отнести и любые области, в которых сбор данных значительно затруднён или в которых очень мало повторяющейся, монотонной работы. И мне представляется, что это большой повод для оптимизма: искусственный интеллект хорошо справляется с задачами, которые мы считаем скучными, и плохо — с тем, что мы в среднем интуитивно считаем интересным. Это связано с тем, что скучные задачи встречаются часто — они потому и скучные, что мы уже много раз их видели и делали, понимаем, как они устроены и, соответственно, обладаем достаточным набором данных, чтобы научить искусственный интеллект делать эти задачи за нас. А интересные задачи на то и интересные, что встречаются нам редко, и данных для обучения искусственного интеллекта их решению просто нет. Поэтому, по моему представлению, всё движется в очень правильном направлении. В своё время у компании IBM был такой лозунг — «Machines should work, people should think», то есть «Машины должны работать, а люди — думать», и в своём текущем виде искусственный интеллект как раз приближается к этому идеальному миру, в котором люди думают, а машины работают. Это, мне кажется, наиболее разумное использование человеческого сознания.

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

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

Все эти случаи, когда люди действительно не понимали, что их собеседником выступал искусственный интеллект, если это, конечно, не чисто рекламные истории, обычно связаны с тем, что область их беседы была крайне узкой, с понятным сценарием развития разговора, в котором бот хорошо ориентируется. Но на любую такую историю вы найдёте десяток примеров, когда бот не справляется с довольно простой задачей. К примеру, недавно в шоу американского комика Джона Оливера был показан забавный эпизод про роботов, которые делают автоматические звонки. Надо сказать, что в Америке судебные приставы или банки часто при помощи роботов напоминают про долги, причём их голос действительно звучит очень хорошо и реалистично. Но после того, как такой робот позвонил одному мужчине, а тот произнёс: «Хорошо, скажите, что вы не бот». «Девушка» рассмеялась в ответ и сказала: «Конечно же, я звоню вам по делу». Он отвечает: «Я понимаю, что вы звоните по делу, просто скажите, что вы не бот». То есть даже такой простой вопрос ставит алгоритм в тупик, просто потому что у него нет такого сценария развития разговора. Хотя человек с этим справился бы очень легко.

— То есть основная проблема здесь исключительно в вариативности, и если её расширить, то и общение будет гораздо более полноценным?

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

Существует такая забавная вещь как «парадокс полководца», придуманный где-то в середине XX-го века. Это философский способ показать, что удалённая коммуникация невозможна. Представьте, что вы и я — два полководца, и у нас на двух сторонах равнины есть войска, которым надо одновременно напасть на противника. При условии, что мы это сделаем одновременно — мы выиграем. В противном случае нас ждёт проигрыш. Это значит, что нам нужно договориться, поэтому я должен послать вам гонца с известием, что мы нападаем завтра в 4 часа дня по московскому времени. Гонца я вам послал, но я не уверен, что вы его встретили, а значит, вы должны послать гонца мне, который расскажет, что мой гонец сообщение доставил. Хорошо, вы посылаете мне гонца, но вы же не уверены, что этот гонец до меня доехал. Я, в свою очередь, гонца встретил, но я тоже знаю, что вы не уверены, что гонец до меня доехал, поэтому я снова должен отправить гонца к вам, чтобы сказать, что я получил гонца, потому что если вы вдруг засомневаетесь и не нападёте в 4 часа дня по Москве, то мы проиграем. Как вы понимаете, эта история никогда не закончится. В компьютерных сетях есть правило тройного рукопожатия, то есть наши компьютеры в сети реально делают ровно это, обмениваясь тремя гонцами. Когда ваш компьютер начинает посылать какие-то данные в Интернет, он три раза обменивается с сервером вопросами «ты тут?» — «да, тут» — «ты точно тут?». А дальше мы считаем, что если все три раза нам ответили утвердительно, то можно начинать. И это очень хороший пример, который показывает, что вопрос коммуникаций для машин очень сложен, потому что люди в этом смысле легко живут с высоким уровнем неопределённости: я в процессе интервью что-то вам говорю, вы потом что-то напишете, и это, скорее всего, будет отличаться от того, что я говорил. Но я всё равно даю себе внутреннюю свободу и общаюсь с вами в надежде, что вы не сильно исказите мою речь. Разговор между нами возможен ровно потому, что сначала у нас есть мысль, которая потом превращается в речь. Уже на этом этапе многие люди чувствуют, что говорят не то, что хотели сказать. Но при этом речь «влетает» в другого человека, он превращает её обратно в мысль, как-то взаимодействует с этой мыслью и что-то отвечает. То есть на каждом из этих этапов в коммуникацию добавляется шум, но наше сознание так устроено, что этот уровень шума для него приемлем. Если абстрагироваться и посмотреть на коммуникацию со стороны, то легко прийти к выводу, что она не может работать. Никак! Однако почему-то она работает. Мы очень хорошо справляемся с недостаточным количеством плохо оформленной информации, с которой искусственный интеллект не справляется. Зато когда информация стандартизована и её много, то всё происходит с точностью до наоборот: скажем, если вам поставят задачу проверить таблицу из 1000 колонок и 20 миллионов записей, то вы, наверное, сразу же уволитесь и правильно сделаете, потому что эта работа не для людей — но с ней хорошо справляется алгоритм.

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


Изображение: © Dmytro Demianenko / 123rf

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

— А как насчёт искусства — поэзия, живопись, музыка… Понятно, что это вещи творческие, нестандартные, но ведь и здесь, насколько я понимаю, есть определённые успехи. Некоторое время назад, например, настоящий фурор вызвала программа Prisma, которая переделывает фотографии под стилистику известных художников.

Обычно использование искусственного интеллекта в творческих целях происходит по одной из трёх причин: либо что-то исследовать и понять, с чем искусственный интеллект справляется, а с чем — нет, либо чтобы доходчивым языком рассказать публике о том, на что искусственный интеллект сегодня способен, либо в каких-то рекламных целях, например, когда компания хочет привлечь внимание к своим продуктам.

Мы с моим коллегой Алексеем Тихоновым некоторое время назад сделали проект «Нейронная оборона». Это несколько песен, написанных искусственным интеллектом в стиле Егора Летова, которые сегодня можно найти на Яндекс-музыке или в Айтюнс. Нам, в частности, было интересно разобраться с тем, что такое стилистика текста. Когда вы приходите к лингвисту и спрашиваете о том, как определить, в каком стиле написан текст, он обычно смущается и говорит: «Что значит “определить”? Надо почувствовать!». И нам очень хотелось проверить, а можно ли выучить стиль автора, просто зная, кто что написал, без какой-то дополнительной экспертной информации. Просто набор данных: список стихов и автор — можем ли мы из этого автоматически как-то уловить, в чём специфика текста того или иного человека? Как оказалось, можем. Иногда на лекциях я вперемешку цитирую четверостишия Егора Летова и стихи, написанные в его стиле искусственным интеллектом. И людям обычно оказывается достаточно сложно определить, где что.


А теперь проверьте свои ответы: 1. Искусственный интеллект в стиле Егора Летова 2. Егор Летов 3. Искусственный интеллект в стиле Сергея Есенина 4. Сергей Есенин 5. Александр Пушкин

— А какие-то сюжетные линии искусственный интеллект прорабатывать способен?

С генерацией сюжетов всё довольно плохо: делать это искусственными нейронными сетями, к примеру, пока не получается. Есть несколько творческих проектов, которые были активно распиарены журналистами — «Искусственный интеллект написал пьесу» или «Искусственный интеллект написал сценарий короткометражки» — но если на это посмотреть внимательно, то становится понятно, что получилась какая-то чушь. Это связано с тем, что специфика алгоритмов машинного обучения такова, что они плохо могут анализировать длинные временные ряды, а у нас в языке есть длинные логические связи, и мы можем долго о чём-то говорить. Максимум, что пока выходит, — это генерировать, условно говоря, одну строку связного текста. Поэтому мы и занимались поэзией — стихотворение генерируется построчно, и вероятность того, что какие-то из этих строк будут похожи на человеческие, довольно высока.

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

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

— С чем искусственному интеллекту работать сложнее — с текстами или с картинками?

Это вопрос субъективный, и обычно чем человек занимается, то и считает наиболее сложным и важным. Соответственно, мне кажется, что с текстами работать сложнее. У картинки есть удивительное, прекрасное свойство — до тех пор, пока мы не пытаемся описать картинку текстом, в ней есть некая локальная непрерывность информации. То есть если вы вырежете из экрана какой-то кусочек, то всё, что на нём будет, имеет примерно столько же смысла, сколько оно имело, пока было частью целого. Если я вырежу изображение цветка за вашей спиной, то это по-прежнему будет цветок в горшке. Я не буду знать о том, кто сидит в комнате, но это будет всё тот же цветок. И только когда я начну вырезать мелкие кусочки по 2-3-4-5-10 пикселей, у меня не будет возможности их как-то интерпретировать. В случае же с текстом, даже если вы вырежете из него сравнительно большой кусок, он может оказаться намного менее информативным. Например, возьмите какой-нибудь детектив и вырежьте строчку про то, кто был убийцей. Удивительно то, что и вырезанная строка перестанет иметь такое же количество смыслов, которое она имела в тексте, потому что теперь мы не знаем, кто такой Пит Салливан, почему он именно садовник, и кого он убил. Но при этом весь остальной текст тоже резко убавит в смысле. Если же я вырежу из вашей картинки цветок, а на заднем фоне останутся пустые пиксели, то информативность картинки практически не изменится. А в случае с текстом я могу вырезать всего одно или два предложения и тем самым свести информативность текста практически к нулю. Это некая дополнительная сложность, связанная всё с тем же нашим умением хорошо обрабатывать длинные последовательности информации, которая плохо структурирована. Наш мозг каким-то образом проводит параллели между большими наборами слов и тем, что мы считаем смыслом. А искусственный интеллект этого не может.


© Akarat Phasura / 123rf

Алгоритм машинного зрения – один из классических примеров реализации машинного обучения.

— Вы проговорили, что обучение искусственного интеллекта осуществляется посредством feedback’а. А как именно это происходит?

Если мы начинаем говорить о машинном обучении, то это означает, что у нас есть некоторая функция, которую мы хотим оптимизировать, и какой-то способ измерить качество результата. Допустим, что мы хотим обучить алгоритм машинного зрения, который детектирует автомобили. С этой целью мы демонстрируем алгоритму архив фотографий, на каждую из которых он говорит: «Мне кажется, что здесь автомобиль есть» или «Мне кажется, что здесь автомобиля нет», а вы ему отвечаете, есть ли автомобиль на самом деле, в зависимости от того, что изображено на фотографии. После того, как алгоритм получает обратную связь, он меняет структуру принятия своего решения.

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

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

— По большому счёту человек тоже учится методом проб и ошибок, и обратная связь в этом процессе играет огромную роль…

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


Warning: Undefined array key "text4" in /var/www/u0429487/data/www/erazvitie.org/tmp/smarty/templates_c/389db9f609aaecfa57f836c65bc9333ab3b0e7f1_0.file.article.tpl.php on line 93

Warning: Undefined array key "text5" in /var/www/u0429487/data/www/erazvitie.org/tmp/smarty/templates_c/389db9f609aaecfa57f836c65bc9333ab3b0e7f1_0.file.article.tpl.php on line 95

Подписаться на новыe материалы можно здесь:  Фейсбук   ВКонтакте


закрыть

Подписывайтесь на нас в Facebook и Вконтакте