Today, artificial intelligence helps doctors diagnose patients, pilots fly commercial aircraft, and city planners predict traffic. But no matter what these AIs are doing, the computer scientists who designed them likely don’t know exactly how they’re doing it. This is because artificial intelligence is often self-taught, working off a simple set of instructions to create a unique array of rules and strategies. So how exactly does a machine learn?
Obecnie sztuczna inteligencja pomaga lekarzom diagnozować pacjentów, pilotom pilotować samoloty pasażerskie, a urbanistom przewidywać ruch uliczny. Bez względu na to, co robi SI, informatycy, którzy ją zaprogramowali, prawdopodobnie do końca nie wiedzą, jak robi to, co robi. To dlatego, że sztuczna inteligencja często jest samoukiem, wykonującym proste polecenia, żeby stworzyć unikalny zbiór zasad i strategii. Jak właściwie uczy się komputer?
There are many different ways to build self-teaching programs. But they all rely on the three basic types of machine learning: unsupervised learning, supervised learning, and reinforcement learning. To see these in action, let’s imagine researchers are trying to pull information from a set of medical data containing thousands of patient profiles.
Jest wiele sposobów na stworzenie samouczących się programów. Wszystkie opierają się na trzech podstawowych typach uczenia maszynowego. Uczeniu nienadzorowanym, nadzorowanym i uczeniu przez wzmacnianie. Żeby zobaczyć ich działanie, wyobraźmy sobie, że badacze próbują uzyskać informacje z bazy danych medycznych tysiąca pacjentów.
First up, unsupervised learning. This approach would be ideal for analyzing all the profiles to find general similarities and useful patterns. Maybe certain patients have similar disease presentations, or perhaps a treatment produces specific sets of side effects. This broad pattern-seeking approach can be used to identify similarities between patient profiles and find emerging patterns, all without human guidance.
Na początek uczenie nienadzorowane. To podejście będzie idealne do analizy wszystkich profili pacjentów, żeby znaleźć ogólne podobieństwa i przydatne schematy. Możliwe, że niektórzy pacjenci mają podobne objawy albo leczenie powoduje konkretne skutki uboczne. To podejście szukania schematów stosuje się do znajdowania podobieństw między profilami pacjentów bez pomocy ludzi.
But let's imagine doctors are looking for something more specific. These physicians want to create an algorithm for diagnosing a particular condition. They begin by collecting two sets of data— medical images and test results from both healthy patients and those diagnosed with the condition. Then, they input this data into a program designed to identify features shared by the sick patients but not the healthy patients. Based on how frequently it sees certain features, the program will assign values to those features’ diagnostic significance, generating an algorithm for diagnosing future patients. However, unlike unsupervised learning, doctors and computer scientists have an active role in what happens next. Doctors will make the final diagnosis and check the accuracy of the algorithm’s prediction. Then computer scientists can use the updated datasets to adjust the program’s parameters and improve its accuracy. This hands-on approach is called supervised learning.
Ale załóżmy, że lekarze szukają czegoś bardziej konkretnego. Chcieliby stworzyć algorytm, który diagnozowałby konkretną chorobę. Na początek tworzą dwie bazy danych, obrazy medyczne i wyniki badań zdrowych pacjentów oraz zdiagnozowanych z chorobą. Potem wprowadzają te dane do programu, który ma rozpoznać cechy wspólne chorych pacjentów, ale nie zdrowych. Opierając się na tym, jak często rozpoznawana jest dana cecha, program przypisuje wartość tym cechom, które mają znaczenie dla diagnozy, tworząc algorytm diagnozujący przyszłych pacjentów. Inaczej niż w przypadku uczenia nienadzorowanego lekarze i informatycy biorą czynny udział w tym, co dzieje się dalej. Lekarze postawią ostateczną diagnozę i sprawdzą poprawność przywidywań algorytmu. Później informatycy mogą użyć zaktualizowanych baz danych, żeby poprawić parametry programu i zwiększyć jego precyzyjność. To praktyczne podejście zostało nazwane uczeniem nadzorowanem.
Now, let’s say these doctors want to design another algorithm to recommend treatment plans. Since these plans will be implemented in stages, and they may change depending on each individual's response to treatments, the doctors decide to use reinforcement learning. This program uses an iterative approach to gather feedback about which medications, dosages and treatments are most effective. Then, it compares that data against each patient’s profile to create their unique, optimal treatment plan. As the treatments progress and the program receives more feedback, it can constantly update the plan for each patient. None of these three techniques are inherently smarter than any other. While some require more or less human intervention, they all have their own strengths and weaknesses which makes them best suited for certain tasks. However, by using them together, researchers can build complex AI systems, where individual programs can supervise and teach each other. For example, when our unsupervised learning program finds groups of patients that are similar, it could send that data to a connected supervised learning program. That program could then incorporate this information into its predictions. Or perhaps dozens of reinforcement learning programs might simulate potential patient outcomes to collect feedback about different treatment plans.
Powiedzmy, że lekarze chcą stworzyć jeszcze jeden algorytm, który polecałby plany leczenia. Ponieważ plany będą wprowadzane w życie stopniowo i mogą ulec zmianom, w zależności od tego, jak pacjenci będą reagować na leczenie, lekarze decydują się na uczenie przez wzmacnianie. Program stosuje wieloetapowe podejście do zbierania opinii o najefektywniejszych lekach, ich dawkowaniu oraz metodach leczenia. Następnie porównuje dane z każdym profilem pacjenta, żeby stworzyć unikalny optymalny plan leczenia. Wraz z przebiegiem leczenia program otrzymuje więcej informacji zwrotnej i może ciągle ulepszać plany leczenia dla każdego pacjenta. Żaden z tych trzech typów nie jest lepszy od innych. Niektóre wymagają więcej, inne mniej udziału człowieka, ale wszystkie mają swoje wady i zalety, przez co każdy sprawdza się w konkretnych zadaniach. Jednak stosując je wszystkie razem, badacze mogą zbudować skomplikowane sieci SI, w których pojedynczy program może nadzorować i uczyć inne. Na przykład, gdy program stosujący uczenie nienadzorowane znajduje grupę podobnych pacjentów, może wysłać ich dane do programu stosującego uczenie nadzorowane. Program mógłby wtedy stworzyć prognozy dzięki tym informacjom. Lub programy wykorzystujące uczenie przez wzmacnianie mogłyby zasymulować możliwe wyniki pacjentów, żeby zebrać informacje o różnych planach leczenia.
There are numerous ways to create these machine-learning systems, and perhaps the most promising models are those that mimic the relationship between neurons in the brain. These artificial neural networks can use millions of connections to tackle difficult tasks like image recognition, speech recognition, and even language translation. However, the more self-directed these models become, the harder it is for computer scientists to determine how these self-taught algorithms arrive at their solution. Researchers are already looking at ways to make machine learning more transparent. But as AI becomes more involved in our everyday lives, these enigmatic decisions have increasingly large impacts on our work, health, and safety. So as machines continue learning to investigate, negotiate and communicate, we must also consider how to teach them to teach each other to operate ethically.
Są różne sposoby tworzenia systemów uczenia maszynowego i może najbardziej obiecujący jest ten, który naśladuje relacje między neuronami w mózgu. Sieci neuronowe mogą wykorzystywać miliony połączeń, żeby radzić sobie z trudnymi zadaniami jak rozpoznawanie obrazów czy mowy lub nawet tłumaczenie językowe. Jednak im bardziej samodzielne się stają, tym trudniej informatykom określić, jak te samouczące się algorytmy znalazły rozwiązanie. Badacze próbują stworzyć bardziej przejrzyste algorytmy uczenia maszynowego. Ale im więcej SI uczestniczy w naszym codziennym życiu, tym większy wpływ mają te enigmatyczne decyzje na naszą pracę, zdrowie i bezpieczeństwo. Dlatego w miarę jak komputery uczą się badać, negocjować i komunikować ze sobą, zastanówmy się, jak nauczyć je, żeby uczyły się nawzajem działać etycznie.