Этот сайт использует файлы cookies. Продолжая просмотр страниц сайта, вы соглашаетесь с использованием файлов cookies. Если вам нужна дополнительная информация, пожалуйста, посетите страницу Политика файлов Cookie
Subscribe
Прямой эфир
Cryptocurrencies: 9963 / Markets: 82358
Market Cap: $ 2 432 007 753 465 / 24h Vol: $ 47 549 863 292 / BTC Dominance: 54.587026436328%

Н Новости

Как начать мыслить о ИИ

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

Введение в задачу «создание ИИ»

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

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

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

Простой чат-бот

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

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

В этом примере интерфейс взаимодействия с программой представлен вводом строки.

commands, variables, stack = dict(), [True], []

while variables[0]:
	input_command = input("\nEnter command: ")
	stack.append(input_command)

	if input_command == "new command":
		commands[input("\tEnter key: ")] = input("\tEnter valeu: ")

	elif input_command == "exit":
		variables[0] = False

	elif input_command == "create var":
		variables.append(None)

	else:
		print(f"The '{input_command}' command is not exist!!!")

commands — список соответствий (словарь); variables — список переменных программы, на основе которых программа выполняет какие-то действия; stack — список введенных.

Этот бот может создавать новое ключ-значение (соответствие), изменить переменную цикла или создать новую переменную. Тут нет ничего особенного. Но есть факт, который играет ключевую роль в создании ЦИ. Он заключается в том, что можно изменять значения переменных извне программы. В этой программе можно изменить значение переменной цикла — variables[0]. Можно изменять поведение программы извне, не изменяя ее кода. Например, если программа работает на основе системы нейронов, то можно изменять их значения, тем самым влияя на поведение программы.

Схема чат-бота
Схема чат-бота

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

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

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

Команды бота

Основной функционал чат-бота может быть следующим: 1) сделать соответствие ключ-значение (команда-действие), 2) выполнить значение ключа (выполнить действие команды): вывести значение ключа; изменить значение переменной; сделать вызов функции; создать функцию; создать переменную.

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

Некоторые действия с ботом: сделать ввод; посмотреть список команд; создать команду; сделать вывод; добавить переменную; изменить переменную; создать функцию; вызвать функцию; добавить функцию (привязать команду к функции); посмотреть список задач; добавить задачу.

Также можно добавить к командам модификаторы, как в программах ОС в терминале. Тогда команды будут выполняться еще и с модификаторами. Например, для создания переменной можно будет указать ее название, которое будет ключом в словаре: «create_var var_name». И, соответственно, при использовании модификатора будет запущен другой сценарий обработки команды.

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

Пример буфера

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

buffer = {
    «to create command»: [False, to_create_command]
}
Как выглядят задачи в буфере
Как выглядят задачи в буфере

Как использовать: проход по каждому ключ-значению в словаре

for key, value in buffer.items():
	if value[0]:  # проверка активности команды
		buffer[key][1]()  # вызов функции
		value[0] = False  # сделать задачу неактивной

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

Создание команд

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

key = stack[-2]
value = stack[-1]
commands[key] = value

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

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

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

Различные механизмы бота

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

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

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

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

Система планирования. Система планирования чем-то похожа на планирование процессов в ОС. Она должна заниматься планированием процессов выполнения задач. В обычном чат-боте что-то планировать можно задавая время, в которое задача должна начать выполняться. Или как и в механизмах ОС будет планироваться выполнение команд по очереди исходя из каких-то критериев, например, приоритета задачи (команды) или времени выполнения текущей задачи (времени пользования процессором).

Заключение

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

Основные идеи, о которых я рассказал в этой статье:

  • создание ИИ — это очередная задача в программировании, которую можно решить;

  • на поведение программы можно влиять путем изменения и создания новых переменных не изменяя кода;

  • изменение определенных переменных влечет выполнение определенных команд (действий) программой;

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

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

Пример кода тут (там же я выкладываю и другие идеи о ИИ).

Источник

  • 07.09.23 16:24 CherryTeam

    Cherry Team atlyginimų skaičiavimo programa yra labai naudingas įrankis įmonėms, kai reikia efektyviai valdyti ir skaičiuoti darbuotojų atlyginimus. Ši programinė įranga, turinti išsamias funkcijas ir patogią naudotojo sąsają, suteikia daug privalumų, kurie padeda supaprastinti darbo užmokesčio skaičiavimo procesus ir pagerinti finansų valdymą. Štai keletas pagrindinių priežasčių, kodėl Cherry Team atlyginimų skaičiavimo programa yra naudinga įmonėms: Automatizuoti ir tikslūs skaičiavimai: Atlyginimų skaičiavimai rankiniu būdu gali būti klaidingi ir reikalauti daug laiko. Programinė įranga Cherry Team automatizuoja visą atlyginimų skaičiavimo procesą, todėl nebereikia atlikti skaičiavimų rankiniu būdu ir sumažėja klaidų rizika. Tiksliai apskaičiuodama atlyginimus, įskaitant tokius veiksnius, kaip pagrindinis atlyginimas, viršvalandžiai, premijos, išskaitos ir mokesčiai, programa užtikrina tikslius ir be klaidų darbo užmokesčio skaičiavimo rezultatus. Sutaupoma laiko ir išlaidų: Darbo užmokesčio valdymas gali būti daug darbo jėgos reikalaujanti užduotis, reikalaujanti daug laiko ir išteklių. Programa Cherry Team supaprastina ir pagreitina darbo užmokesčio skaičiavimo procesą, nes automatizuoja skaičiavimus, generuoja darbo užmokesčio žiniaraščius ir tvarko išskaičiuojamus mokesčius. Šis automatizavimas padeda įmonėms sutaupyti daug laiko ir pastangų, todėl žmogiškųjų išteklių ir finansų komandos gali sutelkti dėmesį į strategiškai svarbesnę veiklą. Be to, racionalizuodamos darbo užmokesčio operacijas, įmonės gali sumažinti administracines išlaidas, susijusias su rankiniu darbo užmokesčio tvarkymu. Mokesčių ir darbo teisės aktų laikymasis: Įmonėms labai svarbu laikytis mokesčių ir darbo teisės aktų, kad išvengtų baudų ir teisinių problemų. Programinė įranga Cherry Team seka besikeičiančius mokesčių įstatymus ir darbo reglamentus, užtikrindama tikslius skaičiavimus ir teisinių reikalavimų laikymąsi. Programa gali dirbti su sudėtingais mokesčių scenarijais, pavyzdžiui, keliomis mokesčių grupėmis ir įvairių rūšių atskaitymais, todėl užtikrina atitiktį reikalavimams ir kartu sumažina klaidų riziką. Ataskaitų rengimas ir analizė: Programa Cherry Team siūlo patikimas ataskaitų teikimo ir analizės galimybes, suteikiančias įmonėms vertingų įžvalgų apie darbo užmokesčio duomenis. Ji gali generuoti ataskaitas apie įvairius aspektus, pavyzdžiui, darbo užmokesčio paskirstymą, išskaičiuojamus mokesčius ir darbo sąnaudas. Šios ataskaitos leidžia įmonėms analizuoti darbo užmokesčio tendencijas, nustatyti tobulintinas sritis ir priimti pagrįstus finansinius sprendimus. Pasinaudodamos duomenimis pagrįstomis įžvalgomis, įmonės gali optimizuoti savo darbo užmokesčio strategijas ir veiksmingai kontroliuoti išlaidas. Integracija su kitomis sistemomis: Cherry Team programinė įranga dažnai sklandžiai integruojama su kitomis personalo ir apskaitos sistemomis. Tokia integracija leidžia automatiškai perkelti atitinkamus duomenis, pavyzdžiui, informaciją apie darbuotojus ir finansinius įrašus, todėl nebereikia dubliuoti duomenų. Supaprastintas duomenų srautas tarp sistemų padidina bendrą efektyvumą ir sumažina duomenų klaidų ar neatitikimų riziką. Cherry Team atlyginimų apskaičiavimo programa įmonėms teikia didelę naudą - automatiniai ir tikslūs skaičiavimai, laiko ir sąnaudų taupymas, atitiktis mokesčių ir darbo teisės aktų reikalavimams, ataskaitų teikimo ir analizės galimybės bei integracija su kitomis sistemomis. Naudodamos šią programinę įrangą įmonės gali supaprastinti darbo užmokesčio skaičiavimo procesus, užtikrinti tikslumą ir atitiktį reikalavimams, padidinti darbuotojų pasitenkinimą ir gauti vertingų įžvalgų apie savo finansinius duomenis. Programa Cherry Team pasirodo esanti nepakeičiamas įrankis įmonėms, siekiančioms efektyviai ir veiksmingai valdyti darbo užmokestį. https://cherryteam.lt/lt/

  • 08.10.23 01:30 davec8080

    The "Shibarium for this confirmed rug pull is a BEP-20 project not related at all to Shibarium, SHIB, BONE or LEASH. The Plot Thickens. Someone posted the actual transactions!!!! https://bscscan.com/tx/0xa846ea0367c89c3f0bbfcc221cceea4c90d8f56ead2eb479d4cee41c75e02c97 It seems the article is true!!!! And it's also FUD. Let me explain. Check this link: https://bscscan.com/token/0x5a752c9fe3520522ea88f37a41c3ddd97c022c2f So there really is a "Shibarium" token. And somebody did a rug pull with it. CONFIRMED. But the "Shibarium" token for this confirmed rug pull is a BEP-20 project not related at all to Shibarium, SHIB, BONE or LEASH.

Для участия в Чате вам необходим бесплатный аккаунт pro-blockchain.com Войти Регистрация
Есть вопросы?
С вами на связи 24/7
Help Icon