Современные языковые модели достигли впечатляющих результатов в некоторых задачах, которые раньше были под силу только человеческому разуму. Так, например, некоторые модели могут без затруднений искать ответы на вопросы, сформулированные на естественном языке в огромных массивах текстовой информации, при этом они не "подсматривают" во внешние источники, а хранят все знания в своей памяти (например, некоторые модели архитектуры T5). Можно пойти дальше и задаться целью создать языковую модель для решения специфичной изобретательской задачи, которая может стоять перед техническим экспертом. В рамках данной публикации попробуем ответить на вопрос могут ли современные нейронные сети генерировать решения изобретательских задач по описанию текущего состояния технической системы и проблемы, которую необходимо устранить в рамках системы.

Концептуальная схема вопроса
Концептуальная схема вопроса

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

Введение

Начало XXI века принесло с собой одну новую особенность общественного устройства – переход к экономике, основанной на знаниях, отличительной чертой которой является интенсивное развитие секторов, связанных с нематериальной деятельностью. В мире возникает принципиальное новая система создания общественного богатства, в основе которого – исследования и инновации. В развитых регионах от 70 до 85% прироста валового внутреннего продукта приходится на продукцию, созданную с использованием новых знаний. Иными словами такую экономику называют экономикой знаний. По мнению некоторых исследователей, переход к экономике знаний будет сопровождаться вступлением человечества в эпоху четвертой промышленной революции. Эпоха четвертой промышленной революции будет ознаменована внедрением интеллектуального анализа больших данных, концепции интернета вещей, суперкомпьютерных вычислений. В конечном счете предполагается, что это приведет к тому, что автономные вычислительные устройства будут обмениваться данными друг с другом и взаимодействовать с окружающим миром, используя ту информацию, которую удалось получить в процессе интеллектуального анализа. В целом можно сказать, что дальнейший рост инновационных экономик будет сильно связан с принципиально новыми возможностями, которые принесет четвертая промышленная революция. Если будущее развитие человечества будет связано с интеллектуальным анализом данных и постоянным поиском инновации, то возникает вопрос: почему бы не доверить техническое совершенствование одних машин другим машинам?

Человечество в течении нескольких десятилетий пытается придумать методы изобретательского мышления, в надежде формализовать и/или ускорить изобретательский процесс. Было разработано несколько методик творчества, пожалуй, среди них можно выделить наиболее известные — метод мозгового штурма, латеральное мышление, метод фокальных объектов, ТРИЗ (теория решения изобретательских задач). Большинство данных методов по уровню научной проработки находятся рядом с популярной психологией, и не предлагают ничего нового кроме различных модификаций комбинаторного перебора возможных вариантов решения. Тем не менее среди этих методов наиболее выделяется ТРИЗ, как наиболее формализованный и наукообразный метод. Остановимся немного поподробнее на нем.

Автором ТРИЗ является Г.С. Альтшуллер, который начал работу над ней в 1946 году, а первая публикация появилась в 1956 году. За это время автор ТРИЗ проделал большую работу по анализу тысяч изобретений. Он обобщил работы тысяч изобретателей, и в результате на свет появился свод методов для решения задач и усовершенствования технических систем. Данная методология ставит перед собой цель формализовать и усовершенствовать изобретательский процесс, сделать его более предсказуемым и ускоренным. Определенных успехов этот метод действительно добился, в 70-х и 80-х годах он начал активно применяться в СССР, а в 90-х годах многие известные фирмы, такие как Samsung, Hewlett Packard, LG и многие другие, начали применять его в своей инновационной деятельности. После чего появился запрос на цифровизацию использования данной методологии, начали появляться группы разработчиков ПО, которые создали программные пакеты, использующие ТРИЗ. Наиболее коммерчески успешный из них назывался «True Machine». Однако начиная с конца 2000-х годов интерес со стороны крупных инновационных компаний к ТРИЗ и программных продуктам на ее основе постепенно начал угасать. В качестве критики ТРИЗ выступают доводы о слабой научности методологии и ограниченности подхода. Далее поговорим об актуальности задачи генерации решения технических задач с позиции использования методов автоматической обработки больших объемов данных, а именно машинного обучения.

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

Количество патентной информации по годам
Количество патентной информации по годам

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

Поговорим о том почему данную задачу стоить решать, используя методы машинного обучения. Зададимся вопросом: для каких задач в рамках экспертных систем уместно использовать машинное обучение? Обычно такие задачи обычно удовлетворяют следующим критериям:

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

  • Задачи, где есть большой объем данных на входе, который необходимо обработать, после чего выдать ответ в виде информации в преобразованном виде.

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

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

Сбор данных

В большинстве задач по обработке естественного языка исходные данные не предоставляются в готовом виде, чаще всего их нужно собрать самостоятельно. Для этого прибегают к различным средствам в зависимости от задачи. В случае с патентной базой на русском языке имеется два популярных открытых источника – база ФИПС (федеральный институт промышленной собственности) и сервис Яндекс.Патенты. Выбор в пользу сервиса Яндекс.Патенты в качестве источника патентной базы. Источника не предоставляет открытого API для доступа к информации, поэтому единственный способ извлечь информацию из него, это написать программу – веб-краулер. Данный сервис использует загрузку динамического содержимого, используя Javascript. Чтобы выкачать информацию сервиса, веб-краулеру нужно имитировать полноценный браузер. Для этого можно использовать технологию Selenium. Веб-краулер прогружает страницу со списком патентов, после чего итеративно проходит по всем ссылкам, каждая из которых ведет на страницу отдельного патента, после чего загружает эти страницы в раздельные папки. После чего переходит на следующую страницу со списком патентов. Так происходит до тех пор, пока на странице со списком есть ссылка на следующую страницу. Код веб-краулера приводится ниже:

import time
from random import random

import requests
from bs4 import BeautifulSoup
from pathlib import Path
from os.path import exists
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium import webdriver
import urllib.parse

URL = "https://yandex.ru/patents?dco=RU&dco=SU&dfr=%s.01.01&dl=ru&dt=0&dto=%s.01.01&dty=2&s=0&sp=%s&spp=50&st=0"
exts = ['.tif', '.TIF', '.jpg', '.JPG', '.gif', '.GIF', '.doc', '.DOC', '.pdf', '.PDF']
pdf_base_link = 'https://patents.s3.yandex.net/'
comp_file_name = "completed.txt"
start_year = 1980
end_year = 1981
page = 0 

options = Options()
options.headless = True

driver = webdriver.Chrome("chromedriver", options=options)


if exists(comp_file_name):
    completed = open(comp_file_name, "r")
    completed_patents = set(completed.read().splitlines())
else:
    completed_patents = set()

driver.get(URL % (start_year, end_year, page))

while True:
    links = list()
    while len(links) < 20:
        time.sleep(1 + random())
        links = driver.find_elements(by=By.TAG_NAME, value='a')

    hrefs = []
    for link in links:
        hrefs.append(link.get_property("href"))
    i = 0
    for href in hrefs:
        patent_name = href.replace('https://yandex.ru/patents/doc/', '')
        if patent_name in completed_patents:
            print("Skip: ", patent_name)
            continue

        if 'patents/doc' in href:
            completed_patents.add(patent_name)
            print("Start processing: ", patent_name, ' Now completed on page: ', i)
            i += 1
            if Path(patent_name).exists():
                continue
            Path(patent_name).mkdir(parents=True, exist_ok=True)
            driver.get(href)
            time.sleep(1 + random())
            html = driver.page_source
            soup = BeautifulSoup(html)
            with open(patent_name + "/patent.html", "w") as file:
                file.write(html)
            if '<b>PDF</b>' in html:
                try:
                    req = requests.get(pdf_base_link + patent_name + ".pdf", allow_redirects=True)
                    open(patent_name + "/patent.pdf", 'wb').write(req.content)
                except requests.exceptions.ConnectionError:
                    print("error of download pdf")
            for img in soup.find_all("img"):
                if 'ref=patents' in img['src']:
                    url = img['src']
                    query = urllib.parse.urlparse(img['src']).query
                    params = urllib.parse.parse_qs(query)
                    name_file = params['id'][0]
                    n_param = params['n'][0]
                    url = url.replace('n='+n_param, 'n=13')
                    try:
                        req = requests.get(url, allow_redirects=True)
                        open(patent_name + '/' + name_file, 'wb').write(req.content)
                    except requests.exceptions.ConnectionError:
                        print("error of download image")
            driver.back()
            time.sleep(1 + random())

    next_ = driver.find_elements(by=By.CSS_SELECTOR, value='div.leaf-button.leaf-button__next.leaf-button--last')
    while len(next_) == 0:
        time.sleep(1)
        next_ = driver.find_elements(by=By.CSS_SELECTOR, value='div.leaf-button.leaf-button__next.leaf-button--last')

    next_elem = driver.find_elements(by=By.CSS_SELECTOR, value='div.leaf-button.leaf-button__next.leaf-button--last')[0]
    page += 1
    print("Completed page ", page, " Next page")
    time.sleep(5)
    next_elem.click()
    time.sleep(5) 

Используя данный веб-краулер удалось собрать приблизительно 300 тысяч патентов датируемые с 1980 по 2020 год, однако не все они пригодны для обучения лингвистической модели, в силу ошибок при оптическом распознавании символов в исходных документах. Далее приводится описание процесса очистки документов.

Очистка исходных данных

Чтобы обучить языковую модель было решено выделить из патентов 6 типов текстовых полей – «отрасль промышленности изобретения», «цель изобретения», «недостатки существующего уровня техники», «описание текущего состояния техники», «суть решения технической задачи» и «формула изобретения». Описание полей в таблице:

Название текстового поля

Краткое описание

Отрасль промышленности изобретения

Описывает к какой области науки и техники относится данное решение

Недостатки существующего уровня техники

Описывает недостатки существующей технической системы - прототипа, эту систему автор патента модернизирует своим техническим решением

Цель изобретения

Содержит несколько слов о целях, которые ставил перед собой автор патента

Описание текущего состояния техники

Описание существующей технической системы

Суть решения технической задачи

Содержит сжатое изложение изобретательского решения

Формула изобретения

Содержит схожий текст по смыслу с предыдущим типом предложений, включен в список как запасной вариант в случае отсутствия «сути решения технической задачи»

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

Для того чтобы использовать патент в обучении модели, текстовые поля, выделенные из него должны быть не пустыми. Однако исходя из анализа текстовых полей, становится понятно, что «недостатки существующего уровня техники» и «цель изобретения» содержат схожие по смыслу предложения, поэтому в случае отсутствия одного из них другое может заменить его. Поэтому для корректно предобработанного патента достаточно одного из них. Также обстоят дела с полями «суть решения задачи» и «формула изобретения». После этого были отфильтрованы изобретения, которые не удовлетворяли данным условиям. В результате получился датасет в формате csv содержащий 1.2 ГБ текстовых данных или 274387 предобработанных патентов, удовлетворяющих этим условиям (ссылка на датасет). Распределение патентов из датасета по годам изображено на столбчатой диаграмме на рисунке — наибольшее число патентов получилось в период с конца 90-ых начало 00-ых, наименьшее с конца 80-ых до начала 90-ых (в эти года многие патенты писались не по шаблону). По мнению некоторых исследователей, минимальное количество обучающих примеров для создания модели генерации текста должно приблизительно равняться 100000 примеров, можно сделать вывод, что этого количество должно быть достаточно, чтобы обучить модель seq2seq.

 Столбчатая диаграмма отражающая количество патентов по годам
Столбчатая диаграмма отражающая количество патентов по годам

Обучение языковой модели

Т.к. seq2seq языковые модели не предназначены для табличных данных, то возникает вопрос как подавать на вход модели данные. Самое простое решение — это разделить их каким-либо специальным токеном, обычно для этих нужд используют токен [SEP]. На вход модели подается текстовая последовательность, конкатенированные текстовые поля «отрасль промышленности изобретения», «цель изобретения», «недостатки существующего уровня техники», «описание текущего состояния техники», разделенные токеном. На выходе модели ожидаются текстовые данные соответствующие конкатенированным полям «суть решения технической задачи» и «формула изобретения» также разделенные токеном [SEP].

В качестве языковой модели была выбрана seq2seq модель T5 на базе архитектуры трансформер. Исследователи, создавшие ее, утверждают, что архитектура подходит для любых задач генерации последовательность из последовательности будь то машинный перевод, суммаризация, получение ответов на вопросы без контекста. Задача генерации решения технических задач тоже подходит в это описание. Как и многие другие модели на базе архитектуры трансформер, для решения конкретной прикладной задачи в начале используют предобученные модели изучившие общие правила построение языка, после чего производят дообучение на новых данных.
Для решения данной задачи была выбрана предобученная версия модели T5 для русского языка «sberabank-ai/ruT5-base» из библиотеки HuggingFace. Данная модель содержит 222 миллиона параметров и была предварительно обучена на 300 ГБ русскоязычных текстов. Было выбрано подмножество данных из датасета размером 160000 примеров.

Столбчатая диаграмма отражающая количество слов в патентах
Столбчатая диаграмма отражающая количество слов в патентах

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

Для токенизации используется Byte-Pair Encoding токенайзер, основная идея которого заключается в разбиение не встречающихся в Embedding-слое слов на несколько токенов, например, слово «вакуумный» может быть разбито на токены «ваку» и «умный». Таким образом преодолевается ограничение на количество слов, которые может кодировать модель. Помимо этого, перед запуском обучения, в модель и токенизатор были добавлены 15000 самых часто используемых в патентах слов. Исходная модель работает с 32100 токенов. Таким образом количество токенов в Embedding-слое после модификации составило 47100. Код для обучения модели представлен ниже:

import torch 
from transformers import T5ForConditionalGeneration, T5Tokenizer
raw_model = 'sberbank-ai/ruT5-base' 
model = T5ForConditionalGeneration.from_pretrained(raw_model).cuda();
optimizer = torch.optim.Adam(model.parameters(), lr=1e-5)
tokenizer = T5Tokenizer.from_pretrained(raw_model)
pair = list(df.itertuples(index=False))
tokens_to_add = get_most_used_tokens(k=15000)
tokenizer.add_tokens(list(tokens_to_add))
model.resize_token_embeddings(len(tokenizer))

from tqdm.auto import trange
import random
import numpy as np

batch_size = 2  
report_steps = 2000 
epochs = 3  

model.train()
losses = []
for epoch in range(epochs):
    print('EPOCH', epoch)
    random.shuffle(pair)
    for i in trange(0, int(len(pair) / batch_size)):
       	batch = pair[i * batch_size: (i + 1) * batch_size]
        # tokenize input and target
        x = tokenizer([re.sub(r'[^A-zА-я\[\]\s\-]', ' ', p[0]) for p in batch], return_tensors='pt', padding=True).to(model.device)
        y = tokenizer([re.sub(r'[^A-zА-я\[\]\s\-]', ' ', p[1]) for p in batch], return_tensors='pt', padding=True).to(model.device)
        y.input_ids[y.input_ids == 0] = -100
        loss = model(
            input_ids=x.input_ids,
            attention_mask=x.attention_mask,
            labels=y.input_ids,
            decoder_attention_mask=y.attention_mask,
            return_dict=True, 
        ).loss
        # step gradient descent 
        loss.backward()
        optimizer.step()
        optimizer.zero_grad()
        # print loss function
        losses.append(loss.item())
        if i % report_steps == 0:
            print('step', i, 'loss', np.mean(losses[-report_steps:]))

Модель обучалась в течение 20 часов, в течении 4 эпох, на GPU Nvidia V100. График зависимости функции потерь и перплексии от номера итерации представлены на рисунках, для первой, второй и третей эпох. Финальное значение кросс-энтропии на обучающей выборке – 2.84, перплексии – 17.11. Валидации в процессе обучения не проводилась, однако в следующем разделе можно видеть по перплексии на тестовой выборке, что переобучения модели не возникло. Обученную модель можно скачать по ссылке.

График изменения кросс-энтропии и перплексии в первой эпохе
График изменения кросс-энтропии и перплексии в первой эпохе
График изменения кросс-энтропии и перплексии во второй эпохе
График изменения кросс-энтропии и перплексии во второй эпохе
График изменения кросс-энтропии и перплексии в третьей эпохе
График изменения кросс-энтропии и перплексии в третьей эпохе

Оценка результатов обучения с помощью формальных метрик

Для оценки качества языковой модели был собран и предобработан датасет из 600 патентов зарегистрированные в период с 2000 по 2020 годы, которые не участвовали в обучении модели.

Глубина лучевого поиска

Штрафа за
длину текста

Штрафа за
повторение

Минимальная длина текста

Максимальная длина текста

7

1.0

2.0

100

512

На этом датасете был произведен замер 5 метрик — BLEU, ROUGE-1, ROUGE-L, ROUGE-LSUM (модификации метрики ROUGE), перплексия. Результат представлен в таблице.

Перплексия

BLEU-4

ROUGE-1

ROUGE-L

ROUGE-LSUM

19,5

8,71

55,6

54,5

54,6

Анализируя эти результаты можно сказать, что модель неплохо работает на тех данных, которые не присутствовали в обучающей выборке. Например, метрика ROUGE-1 говорит о том, что более половины слов присутствующих в сгенерированных моделью ответах также присутствуют в ответах человека. Значение перплексии приблизительно такое же как у англоязычной модели GPT-2 на текстах WikiText2. Невысокий показатель метрики BLEU показывает, что ответы человека и компьютера не сильно похожи между собой по набору и последовательности слов, однако трудно судить о применимости данной метрики в задачах генерации ответов на вопросы, т.к. в ответах на вопрос в большей степени важны некоторые ключевые фразы, отражающие суть мысли, чем полное копирование структуры ответа.

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

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

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

Вводимые в модель данные – «Изобретение относится к осветительной технике [SEP] Цель изобретения повышение прочности колбы в условиях пониженного давления в открытом космосе, так как внутреннее давление является более высоким, чем снаружи [SEP] Известна лампа накаливания, колба которой заполнена инертным газом [SEP] Недостатком является низкая прочность колбы в условиях пониженного давления в открытом космосе».

Вывод текстовой модели – «достигается тем, что лампа накаливания колба содержит по меньшей мере один элемент, выполненный в виде усеченного конуса со сквозным отверстием на боковой поверхности для крепления к нему газом …». Здесь и далее в примерах приводится часть ответа модели, которая несет в себе смысл, при этом орфография модели сохранена. В целом это правильный ответ на эту задачу. Для лампы накаливания в космосе не нужно быть герметично запаянной, поскольку в земной атмосфере нить накаливания перегорает из-за наличия кислорода, а за пределами атмосферы кислорода нет. По всей видимости модель выучила паттерн для решения задачи, связанной с перепадом давления и разрушением конструкций из-за этого перепада. Решением задачи является избавиться от этого перепада давления, путем создания сквозного отверстия в конструкции. На рисунке изображена визуализация показателей внимания между входной и выходной последовательностями в финальном слое одной из голов внимания для токенов связанных с решением задачи. Видно, что токены выходной последовательности «сквозным отверстием», имеют высокий показатель внимания с токеном «давление», что может указывать на то, что модель выучила паттерн для решения подобных задач.

Показатели внимания между входной и выходной последовательностью для токенов связанных с решением задачи
Показатели внимания между входной и выходной последовательностью для токенов связанных с решением задачи

Пример №2. Задача, связанная с машиностроением, формулировка задачи взята из реального патента. Сравним решение модели с решением автора патента. Вводимые данные в языковую модель – «Модель относится к машиностроению и может использоваться для защиты топливных и пневматических трубопроводов транспортных средств от механических повреждений модель относится к машиностроению и может использоваться для защиты топливных и пневматических трубок, а также жгутов проводов для транспортных средств от механических повреждений [SEP] целью изобретения является увеличение защиты топливных трубок от механических повреждений [SEP] Известна фиксация сильфона, имеющего форму гофрированной трубки, закрывающей соединение впускной и выпускной трубок для масла топливного фильтра автомобиля известном оборудовании с использованием современных материалов и технологий, известна полезная модель Жгут проводов моторного отсека автомобиля, выполненный гибким и содержащий ответвления с контактными колодками [SEP] Недостатком данных конструкций является крепление гофрированной оболочки».

Вывод модели – «Скважинная сильфона для защиты топливных трубок от механических повреждений, состоящая из двух частей, соединенных между собой под углом к продольной оси оболочки отличающаяся тем что она дополнительно снабжена уплотняющими элементами, при этом один из них имеет форму гофрированной трубки, а другой выполнен с возможностью перемещения вдоль оси оболочки». Это решение совпадает с решением автора, который предлагает использовать уплотнительные кольца между сильфоной и топливной трубкой, далее дословно приводится решение автора патента – «узел соединения защитной оболочки трубок системы транспортного средства содержит уплотнительные кольца (3), расположенные между защитной оболочкой (2), выполненной гофрированной, и самой трубкой (1)». Визуализация показателей внимания в данном случае не дала возможность проинтерпретировать результаты, выдаваемые моделью. Возможно в обучающей выборке был очень похожий патент, поэтому модель выдала столь похожий результат с решением человека.

Иллюстрация автора из патента
Иллюстрация автора из патента

Пример №3. Данный пример из области порошковой металлургии, как и в прошлом примере формулировка задачи взята из патента. Вводимые в модель данные – «Изобретение относится к области порошковой металлургии, а именно к составам спеченных антифрикционных материалов, которые могут быть использованы в машиностроении [SEP] Задача изобретения — повышение износостойкости в условиях повышенных температур и снижение себестоимости материала,"[SEP]Известен спеченный антифрикционный материал на основе кобальта, содержащий, палладий, карбид титана, твердая смазка, кобальт-остальное».

Вывод модели – «Результат достигается тем что спеченный антифрикционный материал на основе кобальта содержащий SiO Al O CaO MgO TiO дополнительно содержит при следующем соотношении компонентов [SEP] Спеченный Антифрикционный материал, отличающийся тем что компоненты находятся в следующем соотношении масс SiO - Al O - СаО - МgO - ТiO – Остальное, отличающееся тем что в качестве связующего используется оксид цинка». Стоит отметить, одним из этапов предобработки данных для обучения модели являлось удаление любых символов кроме буквенных и пробелов, поэтому числовые индексы у химических формул отсутствуют, их место занимают пробелы, однако поискав в справочной информации можно найти вещество со схожей формулой CaO-SiO2-Al2O3-MgO-TiO2, которое является доменной шлаковой системой, возникающей при производстве сплавов, а значит имеет невысокую стоимость производства, достаточно высокую температуру плавления — около 1200 градусов Цельсия. Вопрос насколько данный материал подходит на роль антифрикционного остается открытым, но требования по функционированию в условиях высокой температуры и низкой стоимости данный материал выполняет. Показатели внимания в последнем слое нейронной сети 4-ой головы внимания для токенов, связанных с химической формулой показаны на рисунке, видно, что они имеют высокую связь с токенами входной последовательности «к составам спеченных антифрикционных». В 5-ой голове внимания также есть связь между токенами химической формулы и токенами «себестоимость материалов».

Показатели внимания 4-ой головы последнего слоя нейронной сети
Показатели внимания 4-ой головы последнего слоя нейронной сети
Показатели внимания 5-ой головы последнего слоя нейронной сети
Показатели внимания 5-ой головы последнего слоя нейронной сети

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

Реализация веб-приложения для работы с языковой моделью

Для того чтобы пользователям было удобно работать с моделями машинного обучения обычно делают веб-интерфейс для доступа к ним из веб-браузера. Для того чтобы работать с полученной языковой моделью было написано простое веб-приложение приложение. Оно имеет клиент-серверную архитектуру. На стороне сервера используется Python фреймворк Flask, на стороне клиента используется фреймворк Bootstrap и язык Javascript. Ссылка на github с кодом https://github.com/GurSergey/ai-inventor.

Интерфейс пользователя веб-приложения
Интерфейс пользователя веб-приложения

Заключение

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

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

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

Комментарии (55)


  1. tmteam
    10.07.2022 20:07

    На этом месте становится немного страшно


    1. napa3um
      10.07.2022 20:35
      +3

      Случайные надписи на случайных картинках тоже могут выглядеть осмысленно, куча таких проектов было в интернете. Тут абсолютно то же самое, причём тезисы ТРИЗа изначально не несут прикладного смысла, хоть и выглядят иногда так, будто бы несут :).


      1. Sergio97 Автор
        10.07.2022 21:35
        +1

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


        1. napa3um
          10.07.2022 21:37
          +1

          Ну, в нейросетевых ассистентах IDE таки больше смысла, на мой взгляд, там и не нужно никакого глубокого понимания алгоритма, нужно просто подставить расхожий сниппет кода, сэкономив нажатия кнопок программистом. Писать за программиста программы такая штука тоже не сможет (но и не должна).


          1. Sergio97 Автор
            10.07.2022 22:10

            Иногда глубокое понимание алгоритма при написании кода тоже нужно. Например, когда вы пишете специфичный код завязанный на внешнюю систему (скажем, оптимизируете sql запрос для СУБД) или железо (пишите прошивку для роутера). В этом нетривиальном случае языковая модель вряд ли сможет вам помочь, ее "мышление" лежит в одной плоскости, т.к. в основном она училась по коду из GitHub перебирать элементы массива. Но даже если вы ей покажете как писать оптимизированные sql запросы, то далеко не факт, что ей будет удаваться писать их в 100% случаев. Для этого либо нужно предоставить модели огромную обучающую выборку с кодом, учитывающую все возможные тонкости работы с базой, либо нужно понимать как СУБД внутри работает. Именно за это понимание программисты и инженеры получают свои зарплаты, и пока на горизонте 5-10 лет им ничего не угрожает


            1. napa3um
              10.07.2022 22:14
              +1

              Иногда и встроенная бритва с пылесосом могла бы быть удобной в IDE, да, но всё-таки ожидания от ассистента немного другие - подставить многобуквенный сниппет по нечёткому шаблону или совершить операцию рефакторинга, также "нечётко" угадав его по действиям/буквам программиста.


              1. Sergio97 Автор
                10.07.2022 22:26

                Согласен с вами, на этом направлении AI еще очень много работы. Пока созданные человеком ассистенты, не похожи на тех чутких и умных компаньонов, которых мы видим в научно-фантастических фильмах. Как будет дальше - увидим :)


            1. tmteam
              11.07.2022 22:13

              Либо, мы под пониманием тоже понимаем аналогию с некоторым образом, из которого делаем то или иное решение.


      1. tmteam
        11.07.2022 22:12

        Случайные комменты к случайной статье тоже могут выглядеть осмсленно. Куча таких комментов... итд. А не нейронная ли вы сеть? А не нейронная сеть я? Как нам пройти тест тьюринга и что он покажет если мы оба лишь нейронная сеть?

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


        1. Moskus
          12.07.2022 07:49

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


  1. SporeMaster
    10.07.2022 20:34
    +2

    А если нерешаемые задачи скармливать? Ну то есть, первый пример с лампочкой и убрать из ТЗ вакуум, чтобы решение с дыркой/убиранием колбы стало неверным. В ML я профан, но из того что читал ранее - Искуственный Имбецилл не обратит на такой нюанс внимания и всё равно предложит это же самое решение. Т.е. понимание у них ОКОЛОНУЛЕВОЕ.

    p.s. Ну, с одной стороны, наверное всё равно неплохо, т.к. школьную физику 40% населения земли не помнит. Но при желании вспомнят, а вот есть ли такой потенциал у НС текущего поколения - сильно сомневаюсь.


    1. Sergio97 Автор
      10.07.2022 21:26
      +1

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


    1. Sergio97 Автор
      10.07.2022 21:27
      +2

      Самому стало интересно, переформулировал задачу следующим образом уже без вакуума: "Изобретение относится к осветительной технике.[SEP] Цель изобретения повышение прочности места соединение цоколя лампы со стеклянной колбой.[SEP] Известна лампа накаливания, содержащая нить вольфрама, колба которой заполнена инертным газом.[SEP] Недостатком является низкая прочность колбы в месте соединение цоколя, при механических воздействиях, которые могут возникать при сильных вибрациях в конструкции." На выходе получил ответ: "... отличающаяся тем, что с целью повышения прочности места соединение цоколя лампы со стеклянной колбой она снабжена под углом к вертикальной оси шкворня." Вообщем ответ получился совсем другой, не похоже конечно, что он несет большой смысл


    1. Moskus
      10.07.2022 21:36
      +1

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


      1. Sergio97 Автор
        10.07.2022 21:53

        Именно поэтому инженеры и программисты получают свои большие зарплаты, за свою умственную работу, и пока не идет речи о том, чтобы их полностью заменил AI :)


        1. Moskus
          10.07.2022 22:31
          +2

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


          1. Sergio97 Автор
            11.07.2022 11:54

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


            1. Moskus
              12.07.2022 07:45

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

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


  1. raamid
    10.07.2022 21:05
    +1

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

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


    1. Sergio97 Автор
      10.07.2022 21:45

      Вы правильно заметили. К данному вопросу можно подойти и с этой стороны, создать смысловую модель. Это можно сделать, скажем, если вместо слов на вход модели подавать категориальные признаки. Например, " для решения использовать круглую форму" или "для решения переиспользовать электрическое поле" и т.д. Однако в этом случае придется формировать обучающую выборку вручную. Можно сделать гибрид, который будет получать на вход текстовое описание и некоторый вектор "идеи", содержащий информацию о физических и химических эффектах.


  1. kovserg
    10.07.2022 21:24

    Главное чтобы так не было
    www.youtube.com/watch?v=s1EMIVLoyOg&t=131s

    — Зачем веревку принёс?
    — Ну не знаю два дня назад мы точно так верёвкой Мурмана из колодца вытащили


    1. Moskus
      10.07.2022 21:42

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


  1. Pavel_Zak
    11.07.2022 01:24
    +4

    Простите пжлст, но... где же здесь ТРИЗ?


    1. Sergio97 Автор
      11.07.2022 11:45

      В данной публикации главный вопрос: "могут ли большие языковые модели ускорить процесс создания инноваций?". ТРИЗ создавалась с похожей целью, однако идеи описанные здесь не базируются на ТРИЗ. Поэтому эти подходы можно назвать аналогами в плане поставленных перед ними целей, но не по содержанию


  1. Favorite101
    11.07.2022 05:12
    +1

    Такой подход к решению задач в принципе неверен. Не словами из описания в патенте надо жонглировать, а использовать для поиска решения законы развития (эволюции) систем, которых в описании патента нет и быть не может. Г. Альтшуллер при анализе патентов увидел глубину (смысл), скрывающиеся за словами — законы развития (эволюцию) систем, и возникающие противоречия, при попытках реализации этих законов. Вывод: ТРАНСФОРМЕР — это высокотехнологичный МПиО... 

    Надо алгоритмизировать не процесс решения задачи, а процесс эволюции системы, т.е. преобразование менее совершенной системы в более совершенную с помощью законов эволюции. Г.С.Альтшуллер: «...главное в изобретении … - это развитие технической системы... »[1]. Это как раз и означает, что в виде решения задачи (внешняя форма) выступает эволюция технической системы (внутреннее содержание). «Внешне АРИЗ представляет собой программу последовательной обработки изобретательских задач. Законы развития технических систем заложены в самой структуре программы или выступают в «рабочей одежде» - в виде конкретных операторов».
    Это же предположил и В.Цуриков: «Похоже, что структура  АРИЗ в неявном виде отразила ... закономерности развития структур любых систем...».

    [1] Альтшуллер Г.С., Фильковский Г.Л. Современное состояние теории решения изобретательских задач, 1975, http://www.altshuller.ru/triz2.asp

    [2] Альтшуллер Г.С. Творчество как точная наука. М., "Советское радио", 1979, с. 23

    [3] Цуриков В.М. Проект ИМ: интеллектуальная среда поддержки инженерной деятельности. Журнал ТРИЗ, 2.1.91, с. 12 Выпуск "Проект ИМ"


    1. Sergio97 Автор
      11.07.2022 12:04

      Системы, которые базируются на ТРИЗ уже были представлены на рынке, например True Machine. И они имели определенный успех. Не хотелось повторяться. В свою очередь, данная публикация является скорее вычислительным экспериментом - попыткой создать Github Copilot, но для изобретателей.


      1. Favorite101
        12.07.2022 00:30

        Системы, которые базируются на ТРИЗ уже были представлены на рынке, например True Machine.

        True Machina не основана на ТРИЗ! Основа ТРИЗ - законы развития (эволюции) систем, чего в True Machina нет. Можете сами проверить на их сайте, https://www.truemachina.com/:

        One billion new inventions can be generated by combinatorial intelligence engine after True Machina knowledge base is fully completed

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

        С помощью комбинаторики ничего нового нельзя изобрести. Это попросту аналог Ars Magna Р.Луллия, правда, высокотехнологичный аналог. У Р.Луллия бумажные кольца с терминама, у Вас - ТРАНСФОРМЕР (супер-пупер нейросеть).


  1. michael_v89
    11.07.2022 07:01
    +3

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

    Меньше 2 из 10 с бессмысленными или бесполезными формулировками, в которых надо выискивать осмысленные части, при 300000 примеров абсолютно достоверных данных? Это не выглядит оптимистично, выглядит как случайное совпадение.


    Таким образом можно сказать, что языковая модель выдает ответы, имеющие смысл приблизительно в 15% случаев.

    Нет, так сказать нельзя. Сказать почему, или догадаетесь?


    Скрытый текст

    Статистическая выборка слишком маленькая.


    1. Sergio97 Автор
      11.07.2022 12:23

      Согласен с вами, выборка маленькая. Но дальнейшие эксперименты с моделью показали примерно такие же результаты. Тут важно понимать еще два момента. Первый момент: модель обученная в данной статье довольно маленькая (GPT3 в 1000 раз больше), чем больше модель, тем лучше качество генерации. Второй момент: 300000 примеров или 1.2 ГБ текста, тоже довольно маленький объем данных для языковых моделей (обычно их обучают на сотнях гигабайт текста). Было бы интересно взглянуть на работу большой языковой модели, весьма вероятно качество было бы лучше. Данная публикация скорее попытка обратить внимание на новый подход, а качество реализации идеи безусловно можно улучшить


      1. michael_v89
        11.07.2022 15:01

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


        1. Sergio97 Автор
          11.07.2022 15:33

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


          1. Favorite101
            12.07.2022 00:40

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

            Вот это-то и плохо, что не из другой области. Когда улучшаемая система исчерпала ресурсы для улучшения - это типичная ситуация, когда система находится на 3 или даже 4 этапе S-образной кривой развития, как правило решение ищут именно в другой области, куда инженеры без ТРИЗ никогда не заглянут. И решения получаются выского уровня, по-настоящему прорывными. Другая возможность - поискать для улучшаемой системы ей альтернативную. Это целая область в ТРИЗ - объединение альтернативных систем. Поищите, не пожалеете!


            1. Sergio97 Автор
              12.07.2022 21:35

              Ознакомлюсь, спасибо! В старших классах школы увлекался ТРИЗ, но потом увлекся программированием, поэтому некоторые вещи могу либо не знать, либо не помнить


  1. Bedal
    11.07.2022 10:00
    +1

    У ТРИЗа есть только одна проблема: нет изобретений, на нём базирующихся. Есть объяснение задним числом, есть много красивых слов… нет изобретений.


    1. Sergio97 Автор
      11.07.2022 12:38

      True Machine - Программный продукт на основе ТРИЗ в начале 00-ых неплохо продавался, и кажется, помогал своим пользователям создавать что-то новое. Поправьте, если я не прав https://habr.com/ru/post/596403/


      1. Bedal
        11.07.2022 13:38

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


    1. Sarjin
      11.07.2022 13:36

      Интересно. А как Вы можете утверждать чем пользовались изобретатели во всех патентах? Кто-то ведёт статистику?


      1. Bedal
        11.07.2022 13:40

        Согласитесь, доказательным было бы изложение «как я сделал изобретение через ТРИЗ». И изложения такие есть… вот только почему-то там решаются проблемы школьно-учебного уровня. Если бы это работало, было бы что-то значимое, лет прошло ведь уже много, пора бы.


        1. Sarjin
          11.07.2022 14:30

          Мне кажется проблема не в ТРИЗ. А в том что высокотехнологичная не военная промышленность и изобретатели не нужны. Если нет запроса на изобретения кто и зачем будет развивать методику или разрабатывать что-то более совершенное?


          1. Bedal
            11.07.2022 15:24

            ммм, именно потому патентные службы перегружены? Ну, наверное. В 2020 году было подано 34984 заявки на изобретения, это же пустяк.


            1. Sarjin
              11.07.2022 18:55

              Вы описали 2 проблемы

              1) патентные сл. перегружены. что может описывать как большое число заявок так и плохую организацию работы.

              2) 35к заявок много. - что вроде немного выше чем в СССР в 70-80х. если смотрим на Китай там 1М+ патентов. но нам нужно знать сколько из них толковых. читая которые специалист скажет "круто это они придумали, надо купить патент".

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


      1. Bedal
        11.07.2022 15:22
        +1

        А, Вы утверждаете, что скрывают, стесняются? Нну, ладно, вольно Вам.


        1. Sarjin
          11.07.2022 18:56

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


    1. Pavel_Zak
      12.07.2022 00:04

      Нету? о_О
      Скажите это компаниям Жилетт, Самсунг, Боинг и прочим (многим) монстрам бизнеса, что учили своих специалистов ТРИЗу и формировали свои собственные инновационные подразделения?


      1. Bedal
        12.07.2022 08:34

        Дадад, сколько раз я уже это слышал… помнится, даже разбор был с предсказуемым результатом.


    1. Favorite101
      12.07.2022 01:08

      У ТРИЗа есть только одна проблема: нет изобретений, на нём базирующихся.

      Пустое и категоричное заявление! В ТРИЗ есть целая область - объединение альтернативных систем. Многие решения защищены патентами, решения реально внедрены. Ниже только один из примеров...

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

      Зачем же их такими делали? У них было свое преимущество - малые по высоте габариты позволяли сильно экономить на высоте реакторных залов. С помощью подхода "Объединение альтернативных систем" объединили преимущества и американских, и советских датчиков. Уже много лет новые датчики - малогабаритные, простые и надежные - безотказно работают на АЭС в России и за рубежом. https://www.metodolog.ru/00807/00807.html

      Самое интересное, что изобретатели нового датчика не были специалистами по реакторам и системам их управления/безопасности, но зато были специалистами ТРИЗ, умевшими ставить правильные задачи и их решать.


      1. Bedal
        12.07.2022 08:36

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


        1. Favorite101
          12.07.2022 12:02

          Есть публикация для Конференции по ТРИЗ, 2017, Москва. Доклад "Метод объединения альтернативных систем", автор В.Герасимов. Давайте адрес (email), пришлю весь файл.

          Есть укороченная публикация как раз про датчики "Дешевая и безопасная техника" (2006) на сайте Методолог, https://www.metodolog.ru/00680/00680.html


          1. kovserg
            12.07.2022 12:17

            А можно ли продемонстрировать триз на примере факторизации чисел?


            1. Favorite101
              12.07.2022 23:42

              Не обещаю, что будет быстро, но задача интересная.

              Для начала познакомлюсь с областью "факторизация чисел". А-а-а, Рамануджан, Харди и Литтлвуд - знаком по фильму и есть в базе данных (картотека, 11300 карточек, карт. № 9821, Онтология по шифру: 22418 (философия, логика, математика), 322400 (информационный фонд) и Рамануджан).

              Да, вот, пожалуйста: Гиндикин С. Загадка Рамануджана. Журнал «Квант», № 10, 1987 http://kvant.mccme.ru/1987/10/zagadka_ramanudzhana.htm


          1. Bedal
            12.07.2022 14:36

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


            1. Favorite101
              12.07.2022 20:18

              Хороши "междусобойчики": каждый год международные конференции, съезды, семинары и др. формы обмена опытом - обучение, представление результатов решения практических задач, новые разработки. Если хотите, посмотрите хотя бы материалы Конференции по ТРИЗ, 2017, Москва, https://trizofication.ru/conference2017

              Не хотите, Ваше дело. Тогда только результаты работы по объединению датчиков: Конструкция защищена авторским свидетельством СССР № 1012708 (1980 – 1987 гг.); с 1997 г. – патентом РФ № 1012708 и патентом Украины № 7112.

              Датчики ДПЛ установлены на всех АЭС с механизмами управления ВВЭР-1000 в России и за рубежом. Они безотказно работают уже много лет и вполне соответствуют определению «Дешевая и безопасная техника»


              1. Bedal
                13.07.2022 08:43

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

                Ну да ладно, датчики и датчики. Если ТРИЗ-движение настолько развито и так широко используется — должны же быть и другие разработки? Более того, их должно быть (учитывая давность) много, и среди них должны быть несомненные и неоспариваемые.

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


  1. NumLock
    12.07.2022 01:22

    Могут ли компьютеры изобретать? Создаем аналог ТРИЗ на нейронных сетях архитектуры Трансформер

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

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

    Аналог ТРИЗ. Вы серьёзно?
    Википедия -> ТРИЗ.
    Где АРИЗ, система приёмов, вещественно-полевой (вепольный) анализ?
    Вы, наверное, создали хороший БОТ, который по смысловым конструкциям фраз находит подобные решения из патентов. Но это не ТРИЗ и не его аналог.


    1. Sergio97 Автор
      12.07.2022 21:43

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