第1章コンピューターサイエンス入門
1.3 Computer Science and the Future of Society1.3 コンピューターサイエンスと社会の未来
Learning Objectives学習目標
By the end of this section, you will be able to:
この節を学び終えると、次のことができるようになる。
• Discuss how computer scientists develop foundational technologies
• コンピューターサイエンティストが基盤技術を開発する方法を論じる。
• Discuss how computer scientists evaluate the negative consequences of technologies
• コンピューターサイエンティストが技術の悪影響を評価する方法を論じる。
• Discuss how computer scientists design technologies for social good As noted earlier, computer science is a powerful tool, and computer scientists have vast technological knowledge that continues transforming society. Computer scientists have an obligation to be ethical and good stewards of technology with an emphasis on responsible computing. Written code influences daily life, from what we see on social media to the news stories that pop up in a Google search and even who may or may not receive a job interview. When computer scientists don’t consider the ramifications of their code, there can be unintended consequences for people around the world. The Y2K problem, also known as the “millennium bug,” is a good example of shortsighted decisions that allowed computer scientists to only store the last two digits of the year instead of four. This made sense at a time when memory was expensive on both mainframe computers and early versions of personal computers. The Y2K problem was subsequently coined by John Hamre, the United States Deputy Secretary of Defense, as the “electronic equivalent of the El Niño.”15 The future of computer science will highly affect the future of the world. Although we often think of computer technologies as changing the way the world works, it is actually people and their vision for the future that are amplified by computing. The relationship between computer science and people is about how computer technologies can bias society and how the choices made through computer systems can both promote and discourage social inequities. Computer technologies can encode either value or both values in their designs. In this section, we’ll introduce three ways that computer science can shape the future of society: developing foundational technologies, evaluating negative consequences of technologies, and designing technologies for social good.
英語のヒント
• コンピューターサイエンティストが社会に役立つ技術を設計する方法を論じる。すでに述べたように、コンピューターサイエンスは強力な道具であり、その研究者は社会を変え続ける膨大な技術的知識を持つ。研究者には、責任あるコンピューティングを重視し、倫理的に行動し、技術を適切に管理する義務がある。書かれたコードは、ソーシャルメディアで何を見るか、Google検索にどのニュースが現れるか、さらには誰が就職面接を受けられ、誰が受けられないかまで、日常生活に影響する。コードがもたらす影響を考慮しなければ、世界中の人々に意図しない結果が生じることがある。「ミレニアム・バグ」とも呼ばれるY2K問題は、西暦を4桁ではなく末尾の2桁だけ保存するという、近視眼的な判断の好例である。大型コンピューターでも初期のパーソナルコンピューターでも、メモリが高価だった当時には、これは筋の通った判断だった。このY2K問題を、のちにアメリカ国防副長官ジョン・ハムレは、「電子版のエルニーニョ」と呼んだ。15コンピューターサイエンスの未来は、世界の未来に大きく影響する。私たちは、コンピューター技術が世界の動き方を変えると考えがちだが、計算によって増幅されるのは、実際には人々と、その人々が描く未来の構想である。コンピューターサイエンスと人間の関係は、技術が社会にどのような偏りを生むか、コンピューターシステムを通じた選択が社会的不平等を促すことも抑えることもある、という問題に関わる。技術の設計には、いずれか一方の価値も、両方の価値も組み込まれうる。この節では、社会の未来を形づくる三つの方法を紹介する。基盤技術の開発、技術の悪影響の評価、そして社会に役立つ技術の設計である。
Developing Foundational Technologies基盤技術の開発
We’ve seen how foundational technologies like artificial intelligence, algorithms, and mathematical models enable important applications in data science, computational science, and information science.
英語のヒント
ここまで、人工知能、アルゴリズム、数学モデルなどの基盤技術が、データサイエンス、計算科学、情報科学の重要な応用をどのように可能にするかを見てきた。
As noted previously, artificial intelligence (AI) is the development of computer functions to perform tasks, such as visual perception and decision-making processes, that usually are performed by human intelligence. AI refers to a subfield of CS that is interested in solving problems that require the application of machine learning to human cognitive processes to achieve goals. AI research seeks to develop algorithm architectures that can make progress toward solving problems. One such example is image recognition, or the problem of identifying objects in an image. This problem is quite difficult for programmers to solve using traditional programming methods. Imagine having to define very precise rules or instructions that could identify an object in an image regardless of its position, size, lighting conditions, or perspective. As humans, we have an intuitive sense of the qualities of an object. However, representing this human intelligence in a machine requiring strict rules or instructions is a much harder task. AI methods for image recognition involve designing algorithm architectures that can generalize across all the possible ways that an object can appear in an image.
英語のヒント
すでに述べたように、人工知能(AI)は、視覚的認知や意思決定など、通常は人間の知能が行う作業を実行するコンピューター機能の開発である。AIは、目標を達成するため、人間の認知過程に機械学習を応用しなければならない問題の解決に関心を持つ、コンピューターサイエンスの一分野を指す。AI研究は、問題の解決を前進させるアルゴリズムのアーキテクチャを開発しようとしている。一つの例は、画像の中の物体を識別する画像認識の問題である。従来のプログラミング手法でこの問題を解くのは、プログラマーにとってかなり難しい。物体の位置、大きさ、照明条件、見る角度にかかわらず、それを識別できる厳密な規則や指示を定義しなければならないと想像してみよう。人間には、物体の性質についての直感的な感覚がある。しかし、厳密な規則や指示を必要とする機械の中に、この人間の知能を表現するのは、はるかに難しい。画像認識のためのAI手法には、物体が画像に現れるあらゆるあり方にわたって一般化できる、アルゴリズムのアーキテクチャの設計が含まれる。
INDUSTRY SPOTLIGHT産業の現場から
Agricultural Robots農業用ロボット
Agricultural robots help large-scale industrial farmers produce crops more efficiently and support sustainability efforts. One agricultural robot is now being used to improve fertilizer and pesticide treatments by taking pictures of plants as a farmer drives a tractor over the field. Artificial intelligence techniques are used to recognize and identify the lettuce plants and weed plants in the image. For each identified lettuce or weed plant, the robot makes a personalized decision about the best chemical treatment for the plant in real time as the tractor moves to the next row of crops. This ability to personalize chemical treatments improves yields and plant quality for large-scale industrial agriculture by producing more crops with fewer chemicals.
英語のヒント
農業用ロボットは、大規模な産業的農業の生産者が、より効率よく作物を育てるのを助け、持続可能性への取り組みを支える。ある農業用ロボットは、農家が畑でトラクターを走らせる間に植物を撮影し、肥料や農薬の処理を改善するため、すでに使われている。AIの技術で画像中のレタスと雑草を認識・識別し、トラクターが次の作物の列に進む間に、識別した一株ずつについて、最適な薬剤処理をリアルタイムで判断する。このように個々の植物に合わせて処理できれば、より少ない薬剤でより多くの作物を生産でき、大規模な産業的農業の収量と品質が向上する。
15 “Looking at the Y2K bug,” portal on CNN.com. Archived 7 February 2006 at the Wayback Machine. https://web.archive.org/web/ 20060207191845/http://www.cnn.com/TECH/specials/y2k/
15 CNN.comの特集ページ「Looking at the Y2K bug」。2006年2月7日にWayback Machineへ保存。https://web.archive.org/web/20060207191845/http://www.cnn.com/TECH/specials/y2k/
Recent approaches to AI for image recognition draw on a family of methods called neural networks instead of having programmers craft rules or instructions by hand to form an algorithm. In humans, the neural network is a complex network in the human brain that consists of neurons, or nerve cells, connected by synapses that send messages and electrical signals to all parts of the body, enabling us to think, move, feel, and function.
英語のヒント
近年の画像認識AIでは、プログラマーが規則や指示を手作業で作ってアルゴリズムにする代わりに、ニューラルネットワークと呼ばれる一群の方法を用いる。人間の場合、ニューラルネットワークは、脳内のニューロン、すなわち神経細胞がシナプスで結ばれた複雑なネットワークである。情報や電気信号を体の各部に送り、私たちが考え、動き、感じ、活動できるようにしている。
In computer science, a neural network (Figure 1.9) is an AI algorithm architecture that emphasizes connections between artificial nerve cells whose behavior and values change in response to stimulus or input. These neural networks are not defined by individual neurons but by the combination of all the neurons in the network. Typically, artificial neurons are arranged in a hierarchy that aims to capture the structure of an image. Although the first level of neurons might respond to individual pixels, later levels of artificial neurons might respond in aggregate to the arrangement of several artificial neurons in the preceding layer. This is similar to how the human visual system responds to edges at the lower levels, then responds in aggregate to the specific arrangement of several edges in later levels, and ultimately identifies these aggregated arrangements as objects.
英語のヒント
コンピューターサイエンスでいうニューラルネットワーク(図1.9)は、刺激や入力に応じて振る舞いや値が変化する、人工的な神経細胞同士のつながりを重視する、AIアルゴリズムのアーキテクチャである。個々のニューロンだけでなく、ネットワーク内のすべてのニューロンの組み合わせによって定まる。通常、人工ニューロンは画像の構造を捉えるよう、階層的に配置される。最初の層のニューロンが個々の画素に反応するのに対し、後の層のニューロンは、前の層にある複数のニューロンの配置に、まとめて反応することがある。これは、人間の視覚系が、低い階層で輪郭に反応し、その後の階層で複数の輪郭の特定の配置にまとめて反応し、最終的にその配置を物体として認識することに似ている。

credit a: modification of "Neural network example" by Wiso/Wikipedia, Public Domain; credit b: modification of work from Psychology 2e . attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 / Public Domain · Source出典
Figure 1.9 (a) An artificial neural network consists of three key layers: the input layer, where raw data enters the system; the hidden layer, where information is processed and patterns are identified; and the output layer, where results are presented. (b) A natural neural network, such as those in the human body, mirrors this structure. The input layer represents sensory receptors, like those in the retina. The hidden layer corresponds to the synapse, where partial processing of the sensory data occurs. Finally, the output layer represents the information sent to the brain for final processing and interpretation. (credit a: modification of "Neural network example" by Wiso/Wikipedia, Public Domain; credit b: modification of work from Psychology 2e. attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図1.9(a)人工ニューラルネットワークは、主要な三つの層から成る。生のデータが入る入力層、情報を処理しパターンを識別する隠れ層、そして結果を示す出力層である。(b)人体にあるような自然の神経回路網も、この構造に対応する。入力層は、網膜などにある感覚受容器を表す。隠れ層は、感覚データの一部の処理が行われるシナプスに対応する。最後に出力層は、最終的な処理と解釈のために脳へ送られる情報を表す。(出典a:Wiso/Wikipedia「Neural network example」を改変、パブリックドメイン。出典b:『Psychology 2e』の図を改変。帰属表示:Copyright Rice University, OpenStax、CC BY 4.0)
The idea of neural networks, however, is not as new as it might seem. Artificial neural networks were first imagined in the mid-1900s alongside contemporary research efforts in the cognitive sciences. The ideas of multilayered, hierarchical networks of neurons and the mathematical optimization methods for learning were all there, but these early efforts were limited by the computational processing power available at the time. In addition, the large datasets that drive neural network learning were not nearly as available as they are today with the Internet. Developments in foundational technologies such as computer architecture and computer networks paved the way for the more recent developments in neural network technologies. The broad area of computer systems investigates these architectures and networks that enable new algorithms and software. Without these technologies, neural networks would not be nearly as popular and revolutionary as they are today. Yet the relationship between computer systems and AI development is not one-directional. Today, computer scientists are using neural networks to help design new, more efficient computer systems. The development of foundational computer technologies not only creates opportunities for direct and indirect applications, but also supports the development of other computer technologies.
英語のヒント
しかし、ニューラルネットワークの考えは、見かけほど新しいものではない。人工ニューラルネットワークが最初に構想されたのは1900年代半ばで、同じ頃の認知科学の研究と並行していた。ニューロンを多層の階層ネットワークにする考えも、学習のための数学的最適化手法も、すでに存在していた。それでも、当時利用できた計算処理能力が、初期の取り組みを制限していた。また、ニューラルネットワークの学習を進める大規模データ集合は、インターネットのある今日ほどには、まったく入手できなかった。コンピューターアーキテクチャやネットワークなどの基盤技術の発展が、その後のニューラルネットワーク技術の発展への道を開いた。コンピューターシステムという広い領域は、新しいアルゴリズムやソフトウェアを可能にする、こうしたアーキテクチャやネットワークを研究する。これらの技術がなければ、ニューラルネットワークは現在ほど普及せず、革新的なものにもなっていないだろう。ただし、コンピューターシステムとAI開発の関係は一方向ではない。今では研究者がニューラルネットワークを使って、新しく、より効率のよいコンピューターシステムの設計を支援している。基盤となるコンピューター技術の開発は、直接・間接の応用機会を生むだけでなく、他のコンピューター技術の開発も支える。
Just as we saw how technological fixes embodied a powerful belief about the relationship between computer solutions and social good, a similar cultural belief exists about the relationship between foundational technologies and their social values. The belief that technologies are inherently neutral and that it is the people using technology who ultimately make it “good” or “bad” is considered social determination of technology.
英語のヒント
技術による解決が、コンピューターを使った解決策と社会の利益の関係についての強い信念を体現していたように、基盤技術とその社会的価値の関係にも、同様の文化的な信念がある。技術は本来中立であり、それを最終的に「よいもの」「悪いもの」にするのは利用する人間だ、という考えは、技術の社会的決定論と見なされる。