--- tags: Old Version --- :::info Ch.10: Machine unlearning (https://gitlab.com/aesthetic-programming/book/-/tree/master/source/10-MachineUnlearning) ::: # Ch.10: 機器反學習(Machine Unlearning) ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_0.svg) ## setup() 設置() ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_1.png) 圖 10.1:Joseph Weizenbaum (1966) 的 ELIZA 關鍵字檢測基本流程圖。圖片版權 ACM61 的通訊
Figure 10.1: Basic flow diagram of keyword detection of ELIZA by Joseph Weizenbaum (1966). Image copyright Communications of the ACM61 本章從描述聊天機器人如何工作的流程圖開始——無論是程式還是邏輯。我們使用這個歷史例子來介紹這本書的最後一章,它是關於機器學習的,1 廣義地定義為用於分析實驗或觀察數據的模型、統計方法和操作算法的集合。鑑於正在產生和挖掘的大量數據,以及它在日常語音控制設備(如 Apple 的 Siri 或亞馬遜的 Echo2)中的廣泛應用,以及邊境控制人臉識別軟體中更險惡的應用,機器學習成為一項大生意也就不足為奇了。 This chapter begins with a flowchart that describes how a chatbot works — both in terms of procedure and logic. We use this historical example to introduce this final chapter of the book which is on machine learning,1 broadly defined as a collection of models, statistical methods and operational algorithms that are used to analyze experimental or observational data. Given the large volume of data being produced and mined, and its widespread application in everyday voice-controlled devices such as Apple’s Siri or Amazon’s Echo2 to more sinister applications in border control face recognition software, it is hardly surprising that machine learning has become big business. 機器學習是 Arthur Samuel 在 1959 年通過他在 IBM 的遊戲開發研究中創造的一個術語,其最終目標是減少甚至消除對“詳細程式設計工作”的需求。3 計算機如何開始編寫自己的程式的根源程式存在於對人工智能的較早討論中。關於計算機是否可以對輸入做出可信響應的猜測反映在相對簡單的聊天機器人示例中,該示例使用關鍵字來生成“知道”響應或後續問題。 ELIZA 是最早的聊天機器人之一,由麻省理工學院的 Joseph Weizenbaum 於 1964 年至 1966 年間創建。它模擬 Rogerian 心理治療師與患者之間的對話,提示用戶輸入,然後使用原始的“自然語言處理”4 來轉換這種對話輸入——使用基於關鍵字關聯和語言模式的簡單腳本(參見圖 10.1)——進入看似有意義的輸出,通常以返回問題的形式。儘管它表面上很簡單,但它卻非常有說服力(稍後您將體驗到)。 Machine learning is a term coined by Arthur Samuel in 1959 through his research at IBM on game development, with the ultimate goal to reduce or even eliminate the need for “detailed programming effort.”3 The roots of how computers might begin to write their own programs lie in older discussions of artifical intelligence. Speculation as to whether computers could demonstrate credible responses to inputs is reflected in the relatively simple chatbot example that uses keywords to produce a “knowing” response, or follow up question. ELIZA was one of the first chatbots and was created by Joseph Weizenbaum at MIT between 1964 and 1966. It simulates a conversation between a Rogerian psychotherapist and their patient, prompting for user input, and then uses primitive “natural language processing”4 to transform this input — using a simple script based on keyword association and language patterns (see Figure 10.1) — into what seems to be a meaningful output, often in the form of a return question. Despite its apparent simplicity, it can be quite convincing (as you will experience later on). 與 ELIZA 的對話涉及一種“幻覺”5,讓機器看起來好像是人類實體。顯然,ELIZA 利用了我們將技術擬人化的意願,以及所謂的智能,因為它不僅能夠保持看似相關和個性化的對話,而且正如 Weizenbaum 指出的那樣,“有些主題很難說服 ELIZA 6 在這裡,我們再次參考圖靈測試。7 機器能否以類似於人類的輸出對輸入做出令人信服的響應——或者更準確地說——它可以模仿理性思維嗎?有趣的是,ELIZA 以 Eliza Doolittle 的名字命名——來自蕭伯納的戲劇 Pygmalion8——它以工人階級的賣花女為中心,以及一位語音學教授的光顧賭注,他可以教她的紳士風度,從而向上通過英國的階級體系,通過獲得“正確的語言”(而不是考克尼方言,有趣的是拒絕其編碼形式的向上流動)9 也許當前的語音助手技術的運作原理與它們相似不僅能夠處理內容,還能夠學習人類語言的風格。 Conversations with ELIZA involve an “illusion”5 to make machines appear as if they were human entities. Evidently, ELIZA exploits our willingness to anthropomorphize technology, and what passes for intelligence, as not only is it able to maintain a seemingly relevant and personalized dialogue, but also, as Weizenbaum notes, “some subjects have been very hard to convince that ELIZA is not human.”6 Here we once again reference the Turing Test.7 Can a machine respond convincingly to an input with an output similar to a human — or more precisely — can it mimic rational thinking? It’s also interesting to note that ELIZA is named after Eliza Doolittle — from the George Bernard Shaw play Pygmalion8 — which centers on a working class flower girl, and a patronizing bet by a professor of phonetics, that he can teach her gentility, and hence upward mobility through the British class system, through the acquisition of “proper speech” (as opposed to Cockney dialect, which interestingly is a rejection of upward mobility in its coded form).9 Perhaps the current technology of voice assistants operates on similar principles as they are able to not only process content but learn the style of human speech. 在機器學習中,通常認為風格是通過處理和分析大量(自然語言)數據的技術從訓練數據集中學習的。因此,諸如“風格遷移”之類的機器學習技術依賴於泛化過程以識別模式。然而,這種“模式識別”顯然不是一個中立的過程,因為它涉及輸入數據的識別和信息的“歧視”。 10 很明顯,在這種過程中還有其他類型的歧視,例如固有的刻板印象。語音助手 11 或在線翻譯工具,12 以及其他可能包括被視為種族主義者的 AI 聊天機器人 Tay,13 或亞馬遜軟體和其他智能係統中的面部識別如何表現出性別和種族偏見的例子。 14 這樣理解,模式識別不僅是在技術操作方面平滑任務和做出準確預測,還包括政治操作,因為它創造了“主體和臣服、知識、權威”以及分類和歸類。 15 In machine learning, it is commonly understood that the style is learnt from training datasets through techniques to process and analyze large amounts of (natural language) data. As such, machine learning techniques such as “style transfer” rely on a process of generalization in order to identify patterns. However, this “pattern recognition” is clearly not a neutral process as it involves the identification of input data, and the “discrimination” of information.10 It is clear that there is other kinds of discrimination in such processes, such as inherent stereotypes in voice assistants11 or in online translation tools,12 and other examples that might include the AI chatbot Tay that was regarded as racist,13 or how facial recognition in Amazon software, and other smart systems demonstrate gender and racial bias.14 Understood this way, pattern recognition is not only about smoothing tasks and making accurate predictions in terms of technical operations but also political operations as it creates “subjects and subjection, knowledge, authority” as well as classification and categorization.15 適當地,在本書的最後一章中,我們在前幾章中討論的許多關鍵技術問題都集中在機器學習的檢驗中。 ELIZA/Eliza 的例子——程式和人——放在一起強調了在機器學習方面,人和機器如何訓練,並被這些過程訓練。 16 我們的機器不是獨立於我們,而是一部分學習程式設計有助於使更廣泛的社會技術組合變得清晰。 17 就本書而言,如果我們假設您必須先學習一些東西,然後實際上教它,並且教學行為可以幫助你學到一些東西。我們試圖“訓練”到什麼程度,誰在訓練誰?我們將在本章末尾回到這個討論,但現在很明顯,我們需要開始更好地理解這些操作,並在機器和人類的情況下更加認真地對待我們的學習。 Appropriately, for the last chapter of our book, many of the critical-technical issues we have discussed through previous chapters come together in the examination of machine learning. The example of ELIZA/Eliza — both program and person — taken together emphasize how, when it comes to machine learning, both humans and machines train, and are trained by, these processes.16 Our machines are not independent of us, but are part of wider socio-technical assemblages which learning to program helps to make apparent.17 In the case of this book, we might speculate on whether we have been writing a teaching or a learning book if we assume that you have to learn something before you can actually teach it and that the act of teaching can help you learn something. To what extent are we attempting to “train,” and who is training who? We will come back to this discussion at the end of the chapter but for now it is clear that we need to begin to understand these operations better and take our learning far more seriously in the case of both machines and humans. ## start() 開始() 讓我們通過使用 Norbert Landsteiner 在 2005 年製作的測試應用程式來仔細檢查和反思 ELIZA 聊天機器人: Let’s start with a closer examination of and reflection on the ELIZA chatbot by using the test application produced by Norbert Landsteiner in 2005: ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_5.png) 圖 10.2:ELIZA 終端(2005)在 Web 瀏覽器上的螢幕截圖,由 Norbert Landsteiner 實現。由設計師提供 Figure 10.2: A screenshot of the ELIZA Terminal (2005) on a web browser, implemented by Norbert Landsteiner. Courtesy of the designer 任務: Tasks: 單擊“下一步”按鈕訪問 ELIZA 測試 (2005),https://www.masswerk.at/elizabot/eliza_test.html 以便您可以看到 Weizenbaum 在他發表的文章中給出的原始示例。 18
Visit the ELIZA Test (2005) by clicking the button “Next Step”, https://www.masswerk.at/elizabot/eliza_test.html so you can see the original example given by Weizenbaum in his published article.18 然後通過鏈接訪問作品 ELIZA Terminal (2005) https://www.masswerk.at/elizabot/eliza.html,並嘗試進行自己的對話。 19
Then visit the work ELIZA Terminal (2005) via the link https://www.masswerk.at/elizabot/eliza.html, and try to have your own conversation.19 分享您對原始對話的體驗(由 Weizenbaum 提供)以及您與聊天機器人的對話:
Share your experience of the original conversation (by Weizenbaum) and your conversation with the chatbot:
- 您如何描述您對 ELIZA 的體驗(例如語言的使用、談話風格和社交互動的質量)?
How would you describe your experience of ELIZA (e.g. the use of language, style of conversation, and quality of social interaction)?
- 您如何評估此類技術捕捉和構建感覺和體驗的能力?有哪些限制?
How would you assess the ability of technology such as this to capture and structure feelings, and experiences? What are the limitations? ## Between input and output 輸入輸出之間 我們已經簡要介紹了機器學習,但讓我們澄清一下它的實際含義。在當代語境中,它指的是各種“數據處理”技術,20 或更準確地說,是統計和數據分析。它通常由三個組件描述:輸入、建模(或學習)和輸出。通常,需要收集、解析和清理大量數據。 21 數據清理是計算機或數據科學中經常使用的一個術語,用於描述準備數據的過程(數據可以包括文本、視頻、圖像、手勢、等)通過刪除或修改不相關的、重複的或格式不正確的數據來調整數據不一致性來做為輸入數據。這些不同的數據準備過程涉及在識別和訪問數據集、如何構建原始數據和處理不一致方面的決策。如果數據來自不同的地方,那麼問題就出現瞭如何規範化數據以構建一個有凝聚力的數據集。 22 在第 4 章“數據捕獲”中,我們已經可以看到這個過程如何充滿了關於包含什麼的問題和排除,以及如何決定和實施,以及由誰決定和實施。數據集不僅僅是達到目的的手段,而是成為我們需要更好地理解的非常重要的文化對象。 23 We have briefly touched on machine learning, but let’s clarify what it actually entails. In a contemporary context, it refers to various techniques of “data-handling,”20 or, more precisely, statistics and data analysis. It is commonly described by three components: input, modelling (or learning), and output. Usually, a large amount of data is needed to be collected, parsed and cleaned.21 Data cleansing is a term often used in computer or data science to describe the process of preparing data (data can consist of texts, video, images, gestures, etc.) to be input data by adjusting data inconsistency in terms of removing or modifying data that is irrelevant, duplicated, or improperly formatted. These various data preparation processes involve decision-making in terms of identifying and accessing the datasets, and how to structure the raw data, and deal with inconsistencies. If the data originates in different places, then the question arises of how to normalize the data to structure a cohesive dataset.22 As in Chapter 4, “Data capture,” we can already see how this process is fraught with problems concerning what gets included and excluded, and how this is decided and effected, and by whom. Rather than simply a means to an end, the dataset becomes a hugely significant cultural object that we need to understand better.23 ## Exercise in class 課堂練習 在以下練習中,24 我們將使用實驗性人工智能項目 Teachable Machine(版本 1)25 更密切地參與涉及輸入和輸出的機器學習過程,以了解兩者之間的關係:https://teachablemachine.withgoogle.com /v1/. In the following exercise,24 we will use the experimental AI project Teachable Machine (version 1)25 to engage more closely with machine learning processes involving input and output, to understand the relationship between the two: https://teachablemachine.withgoogle.com/v1/. ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_2.png) 圖 10.3:Teachable Machine(版本 1)界面 Figure 10.3: The Teachable Machine (Version 1) interface 此 Web 應用程式包括輸入、學習和輸出。通過網絡攝像頭捕捉圖像,該程式將圖像用作輸入數據,您可以使用三種“訓練分類器”。 This web application includes input, learning, and output. By capturing images via your web camera, the program utilizes images as input data and there are three “training classifiers” you can play with. 該怎麼辦: What to do: 準備三組可以被網絡攝像頭捕獲的手勢。每個手勢都必須通過長按彩色的“訓練”按鈕來重複訓練,這會根據捕獲的圖像做為輸入數據(也稱為“訓練數據集”)生成機器學習模型(見圖 10.3)。這個過程用於訓練計算機識別特定的手勢/圖像/姿勢,以便當有新的圖像輸入(所謂的“測試數據集”)時,學習/可教機器可以以各種置信度對這些手勢進行分類,然後預測相應的輸出結果。可以通過搜索其他圖像、聲音和文本集來進一步修改三種初始設定輸出模式(GIF、聲音、語音)。 Prepare three set of gestures that can be captured by the web camera. Each gesture has to be repeatedly trained by long-pressing the colored “TRAIN” button, and this generates the machine learning model based on the captured images as input data (also called the “training dataset”) (see Figure 10.3). This process is used to train a computer to recognize the specific gestures/images/poses so that when there is a new image input (a so-called “test dataset”), the learning/teachable machine can classify those gestures with various confidence levels, and then predict the corresponding output results. The three default output modes (GIF, Sound, Speech) can be further modified by searching for other sets of images, sounds and texts. 最簡單的開始方式是: The simplest way to start is: 使用三組不同的手勢/面部表情訓練機器,然後觀察顯示為各種輸出的預測結果。 Train the machine using three different sets of gestures/facial expressions, then observe the predictive results shown as various outputs. 測試識別或分類問題的邊界,例如使用不同的測試數據集,或在不同條件下(例如可變光照和距離)。什麼可以被識別,什麼不能被識別? Test the boundaries of recognition or classification problems, such as having a different test dataset, or under different conditions such as variable lighting and distance. What can, and cannot, be recognized? 當你只使用幾張圖片時會發生什麼?如此多的訓練輸入如何改變機器的預測? What happens when you only use a few images? How does this amount of training input change the machine’s predictions? 本初步練習旨在讓您熟悉機器學習的三個組成部分:輸入、學習和輸出,並探索數據與這些組成部分之間的關係。此外,此執行為思考機器從數據中學習、識別模式、做出決策和預測的方式奠定了基礎。 This initial exercise aims to familiarize you with the three components of machine learning: input, learning and output, as well as to explore the relation between data and these components. Furthermore, this execise sets the stage for thinking about the ways in which machines learn from data, identify patterns, make decisions, and predictions. ## Learning algorithms 學習算法 機器學習利用各種統計算法來處理(訓練)數據集。例如,通過測量一組源自訓練數據的已知圖像的梯度來識別人的圖像,這些梯度“教”算法識別人的構成。 Machine learning utilizes a variety of statistical algorithms to process (training) datasets. An image of a person, for instance, is identified as such by measuring a set of gradients of known images derived from training data, which “teaches” algorithms to recognize what constitutes a person. 從廣義上講,有三種類型的算法:監督學習、無監督學習和強化學習。 Broadly speaking there are three types of algorithms: Supervised Learning, Unsupervised Learning, and Reinforcement Learning. 監督學習 - 此模型基於訓練數據集,其中輸入/輸出對做為預期答案。一個經典的例子是垃圾郵件,其中算法從標記為“垃圾郵件”或“非垃圾郵件”的電子郵件樣本中學習。這種學習的目標是將輸入數據映射到輸出標籤。例如,以新電子郵件做為輸入,預測的輸出結果是什麼?是否可以歸類為垃圾郵件然後移至垃圾郵件郵箱?在數學方面,這表示為 Y=f(X),目標是從新輸入數據 (X) 中預測輸出變數 Y。但是這個預測過程依賴於分類技術,例如二元分類(如是/否、垃圾郵件/非垃圾郵件、男性/女性)和多分類(如視覺識別中的不同對象標籤),這是基於過程的的數據標記。這就是不一致的地方。數據以離散方式分類,有很多原因可能導致“規範”預測,這在涉及性別、種族和身份等複雜主題時尤其成問題,因為這些操作超越了二元、離散的分類. Supervised Learning - This model is based on a training dataset with input/output pairs as expected answers. A classic example would be spam emails in which an algorithm learns from the sample of emails that are labelled as “spam” or “not spam.” The goal of this type of learning is to map the input data to output labels. For example, with new email as the input, what would the predicted output result be? Can it be classified as spam and then moved to the spam mailbox? In mathematical terms, this is expressed as Y=f(X), and the goal is to predict the output variable Y from the new input data (X). But this prediction process relies on classification techniques, for example binary classification (such as yes/no, spam/not spam, male/female) and multi-classification (such as different object labels in visual recognition), which is based on the process of data labelling. This is where inconsistencies arise. Data is categorized in a discrete manner, and there are many reasons that might lead to a “normative” prediction and this is especially problematic when it comes to complex subjects such as gender, race, and identity, because these operate beyond binary, discrete classification. 藝術家兼研究員 Nicolas Malevé 在 ImageNet 數據集26這一主題上做了大量工作,這是計算機視覺領域極具影響力的項目,由斯坦福大學的李飛飛於 2009 年開發。該數據集非常龐大,包含超過1,400 萬張照片被組織成超過 21,000 個“同義詞集”(類別),取自名為 WordNet 的詞彙數據庫。 27 超過 25,000 名工人使用眾包 Amazon Mechanical Turk 在兩年內完成了標記工作平台。在 2019 年夏天的兩個月裡,做為網絡直播和倫敦攝影師畫廊的媒體牆展出,Malevé 的腳本以每張圖像 90 毫秒的速度循環播放數據集的全部內容,並隨機暫停點使觀眾能夠“看到”一些圖像,以及它們是如何分類的(見圖 10.4)。這引發了關於訓練算法所需的大量圖像與人類勞動之間的比例關係的問題,以及對圖像進行註釋和分類所需的注意力(或缺乏注意力)。 28 工作現場錄音的摘錄題為 12 小時的 ImageNet 可以在線查看。 Artist-researcher Nicolas Malevé has done extensive work on this topic in relation to the ImageNet dataset,26 a hugely influential project in the field of computer vision, developed by Fei-Fei Li at Stanford University in 2009. The dataset is vast and contains over 14 million photographs that are organized into over twenty-one thousand “synsets” (categories), taken from a lexical database called WordNet.27 The labelling work was completed by over 25,000 workers over a two-year period using Amazon Mechanical Turk, a crowdsourcing platform. Exhibited across two months of the summer of 2019 as a live stream on the web and on the Media Wall at The Photographers Gallery, London, Malevé’s script cycled through the entire contents of the dataset at a speed of 90 milliseconds per image, pausing at random points to enable the viewer to “see” some of the images, and how they are categorized (see Figure 10.4). This raised questions about the relation of scale between the overwhelming quantities of images needed to train algorithms and the human labor, and attention (or the lack of it) required to annotate and categorize the images.28 An excerpt form the live recording of the work entitled 12 Hours of ImageNet can be viewed online. ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_7.png) 圖 10.4:Nicolas Malevé 在 Exhibiting ImageNet (2019) 中對“公雞”的分類。 由藝術家提供 Figure 10.4: The categorization of “cock” in Exhibiting ImageNet (2019) by Nicolas Malevé. Courtesy of the artist k均值 k-means ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_4.gif) 圖 10.5:使用 K-means 聚類的無監督學習的說明。 圖片來自維基共享資源 Figure 10.5: An illustration of Unsupervised Learning with K-means clustering. Image from Wikimedia Commons 無監督學習 - 與之前的學習模型不同,訓練數據集不包含一組標記數據。無監督學習的常見任務之一是“聚類”(K-means 和 Hierarchical Clustering 等算法)。該技術的目標是發現相似性,使用探索性和聚類分析提供對潛在模式和數據集中不同組之間關係的洞察。因此,同一組或集群中的項目共享相似的屬性和指標(見圖 10.5)。聚類背後的想法是識別數據集中的相似數據組,分離具有相似特徵的組。它通常用於商業和營銷部門以了解客戶偏好,因此可以通過根據客戶對某些類型商品的購買行為對客戶進行分組來提供個性化和數據營銷。 Unsupervised Learning - Unlike the previous learning model, the training dataset does not contain a set of labelled data. One of the common tasks with unsupervised learning is “clustering” (algorithms such as K-means and Hierarchical Clustering). The goal of this technique is to find similarities, providing insights into underlying patterns, and relationships of different groups in a dataset using exploratory and cluster analysis. As such, items in the same group or cluster share similar attributes and metrics (see Figure 10.5). The idea behind clustering is to identify similar groups of data in a dataset, segregating groups with similar characteristics. It is commonly used in the business and marketing sectors to understand customer preferences so personalization and data marketing can be provided by grouping customers based on their purchasing behavior with regard to certain types of goods. 藝術家 Joana Chicau 和 Jonathan Reus 基於無監督學習模型製作了智能解剖學29,以發展對解剖知識和計算學習的理解(見圖 10.6)。在他們的 AI 研討會上,30 他們建議參與者考慮檢查小型圖像數據集(大約 15 張圖像)的兩個特徵——例如“可愛”和“捲曲”——並且根據這些特徵對每張圖像進行評級和排序(以 x 和 y 軸的形式)在一個數字範圍內,比如從 0.0 到 1.0(用於標準化和重新縮放,在統計術語中,以便數據處於相同的比例)。可以添加更多功能,但僅在物理車間設置中擁有兩個更方便。然後可以通過一組特徵值來描述每個圖像。結果,形成了幾個集群,為圖像之間的異同關係提供了新的視角(見圖 10.7)。這是一個簡單的練習,但顯然可以擴大、系統化和自動化,例如通過決定集群的數量和計算數據點之間的分佈/距離。這也有助於強化設計用於識別模式的算法(稱為神經網絡)31 如何以鬆散的方式基於人腦模型運行,以及它如何學習區分某些對象與其他對象。 Artists Joana Chicau and Jonathan Reus produced Anatomies of Intelligence29 based on an unsupervised learning model to develop an understanding of anatomical knowledge, and computational learning (see Figure 10.6). In their AI workshop,30 they suggest that participants think of two features for examining a small image dataset (around 15 images) — such as “cuteness” and “curliness” — and each of the images are rated and sorted according to these features (in the form of x and y axis) within a number range say from 0.0 to 1.0 (for normalization and rescaling, in statistical terms, so that data are in the same scale). More features can be added, but it is more convenient to have two only for a physical workshop setting. Each image can then be described by the set of feature values. As a result, several clusters are formed, providing a new perspective on the relations between images in terms of their similarities and differences (see Figure 10.7). It’s a simple exercise, but can obviously be scaled up, systematized, and automated, for example by deciding on the number of clusters and calculating the distribution of/distance between data points. This also helps reinforce how algorithms designed to recognize patterns, known as neural networks,31 operate, loosely based, as they are, on a model of the human brain and how it learns to differentiate certain objects from other objects. 強化學習——這種類型的學習技術基於與環境的交互,將情況分析映射為行動。 32 學習者(或代理)沒有任何先前的數據來根據、確定或預測哪個行動採取,而是通過反複試驗來獲得最佳結果。例如,計算機程式 AlphaGo33 在 2017 年擊敗了圍棋抽象戰略棋盤遊戲的世界冠軍。 AlphaGo 能夠使用自學過程評估各種位置並選擇最佳動作。這種類型的學習會找到在特定環境中可能採取的最佳行為或路徑,映射狀態-動作對以實現最佳結果。就像在行為心理學中一樣,強化被用來暗示未來的行動,就像一個孩子因為按照指示去做而得到獎勵。與依賴於輸入訓練數據的監督學習不同,強化學習的特點是該程式從整體上理解環境,34 並且能夠通過評估所採取的每項行動的有效性來從其經驗中學習:“試錯法”搜索”和“延遲獎勵”35 基於順序決策、計算、重複嘗試和對操作成功的反饋。 Reinforcement Learning — This type of learning technique is based on interaction with the environment, mapping an analysis of a situation into actions.32 The learner (or agent) does not have any previous data to base itself on, to determine, or predict which action to take, but rather learns by trial and error to yield the best results. For example, the computer program AlphaGo33 beat the world champion of the Go abstract strategy board game in 2017. AlphaGo was able to evaluate the various positions and select the best moves using self-taught processes. This type of learning finds the best possible behavior or path to take in a specific environment, mapping state-action pairs to achieve the best result. As in behavioral psychology, reinforcement is used to suggest future actions, like a child getting a treat for doing what it was told to. Unlike supervised learning that relies on input training data, the characteristics of reinforcement learning are that the program understands the environment as a whole,34 and is able to learn from its experience by evaluating the effectiveness of each action taken: “trial-and-error search” and “delayed reward”35 are based on sequential decisions, computation, repeated attempts, and feedback on the success of actions. ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_3.png) 圖 10.6:Joana Chicau 和 Jonathan Reus 的智能剖析(2018-)。 藝術家們的禮貌 Figure 10.6: Anatomies of Intelligence (2018-) by Joana Chicau and Jonathan Reus. Courtesy of the artists 解剖學2 anatomies2 ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_4.png) 圖 10.7:Joana Chicau 和 Jonathan Reus 在智能解剖研討會中基於“可愛”和“捲曲”的圖像聚類。 Figure 10.7: The clustering of images based on “cuteness” and “curliness” in the Anatomies of Intelligence workshop by Joana Chicau and Jonathan Reus. ## ml5.js library 鑑於時間和空間的限制,並且與本書迄今為止的內容一致,本章將使用 ml5.js 機器學習庫進行實驗,這是一個可以像 p5.js 一樣在 Web 瀏覽器中運行的 JavaScript 框架。為了讓廣大受眾(尤其是程式設計初學者)可以使用機器學習,ml5.js 建立在更複雜的 TensorFlow JavaScript 庫之上。36 此外,ml5.js 站點包含大量程式碼示例和帶有預訓練模型的教程使用先前的培訓過程創建的。 37 Given the limitations of time and space, and in line with the book thus far, this chapter will experiment with the ml5.js machine learning library, a JavaScript framework that can be run in a web browser just like p5.js. Aiming to make machine learning accessible to a wide audience, especially programming beginners, ml5.js is built on top of the more complex TensorFlow JavaScript library.36 Furthermore, the ml5.js site consists of extensive code examples and tutorials with pre-trained models that have been created using prior training processes.37 為完成最後一章“後記:循環想像”——這可以被比作到目前為止你已經完成學習的積極強化——我們從 ml5.js 中挪用了一個例子:CharRNN_Text。我們沒有使用使用弗吉尼亞伍爾夫的文學作品訓練的 ml5.js 提供的預訓練模型,而是提供了另一個基於本書所有章節的預訓練模型。通過這種方式,我們的最後一個示例從前幾章中學習,並根據其他章節的通用風格生成新文本。當然,這裡有一個還原過程,它舉例說明了我們之前在知識生產方面提出的一些政治問題。 39 Working towards the final chapter, “Afterword: Recurrent Imaginaries” — which can be likened to positive reinforcement for having finished your learning so far — we have appropriated an example from ml5.js: CharRNN_Text. Instead of using the pre-trained model provided by ml5.js that was trained using the literary works of Virginia Woolf, we offer another pre-trained model38 based all the chapters of this book. In this way our final example learns from previous chapters and generates a new text based on the generalized style of the others. Of course there is a process of reduction here that exemplifies some of the political issues we have raised before with regard to knowledge production.39 訓練過程使用“循環神經網絡”(RNN)和“長短期記憶”(LSTM)來逐個字符地分析和建模順序數據。兩者在逐字符訓練方面都很有用,因為文本的順序和上下文對於生成對人類讀者有意義的句子都很重要(這與“自然語言處理”領域有關)。這種循環類型的神經網絡可以捕獲語料庫中的長期依賴關係,以便通過訓練過程的多次迭代來理解文本模式,使用來自每一章的字符和符號形式的降價做為原始數據。我們最終得到的內容或多或少是有意義的,在它的文本處理中,還有原始碼、圖像鏈接、標題等,但最重要的是,在下一個獎勵章節中,機器生成的文本提供了對如何處理的見解機器從我們的書中學習與您可能學到的東西形成鮮明對比60。在這裡,我們回到本書的主要目標之一,即探索人類與機器閱讀和寫作之間的一些異同:我們稱之為審美程式設計。 The training process uses a “Recurrent Neural Network” (RNN) and “Long Short Term Memory” (LSTM) that analyze and model sequential data, character by character. Both are useful in terms of character-by-character training because the order, and context of the text are both important to generate sentences that make sense to human readers (this is related to the field of “natural language processing”). This recurrent type of neural network can capture long-term dependencies in a corpus in order to make sense of the text pattern through many iterations of the training process, using markdowns in the form of characters and symbols from each chapter as raw data. What we end up with more or less makes sense, in its processing of text, but also source code, image links, captions, and so on, but most importantly with the machine generated text in the next bonus chapter it provides an insight into how a machine learns from our book in contrast to what you might have learnt60. Here we return to one of the main objectives for the book, i.e. exploring some of the similarities and differences between human, and machine reading and writing: what we refer to as aesthetic programming. ![](https://gitlab.com/aesthetic-programming/book/-/raw/master/source/10-MachineUnlearning/ch10_6.png) 圖 10.8:自動章節生成器 Figure 10.8: Auto Chapter Generator RunMe https://aesthetic-programming.gitlab.io/book/p5_SampleCode/ch10_MachineUnlearning/ ## Source code JavaScript: ``` //small modification from the source: //https://learn.ml5js.org/#/reference/charrnn let charRNN; let textInput; let lengthSlider; let tempSlider; let button; let runningInference = false; function setup() { noCanvas(); // Create the LSTM Generator passing it the model directory charRNN = ml5.charRNN('models/AP_book/', modelReady); // Grab the DOM elements textInput = select('#textInput'); lengthSlider = select('#lenSlider'); tempSlider = select('#tempSlider'); button = select('#generate'); // DOM element events button.mousePressed(generate); lengthSlider.input(updateSliders); tempSlider.input(updateSliders); } // Update the slider values function updateSliders() { select('#length').html(lengthSlider.value()); select('#temperature').html(tempSlider.value()); } function modelReady() { select('#status').html('Model Loaded'); } // Generate new text function generate() { // prevent starting inference if we've already started another instance if(!runningInference) { runningInference = true; // Update the status log select('#status').html('Generating...'); // Grab the original text let txt = textInput.value(); // Check if there's something to send if (txt.length > 0) { // This is what the LSTM generator needs // Seed text, temperature, length to outputs let data = { seed: txt, temperature: tempSlider.value(), length: lengthSlider.value() }; // Generate text with the charRNN charRNN.generate(data, gotData); // When it's done function gotData(err, result) { if (err) { console.log("error: " + err); }else{ select('#status').html('Ready!'); select('#result').html(txt + result.sample); runningInference = false; } } } } } ``` HTML: ``` <html> <head> <meta charset="UTF-8"> <title>Auto Chapter Generator</title> <script src="https://unpkg.com/ml5@0.4.3/dist/ml5.min.js" type="text/javascript"></script> <script language="javascript" type="text/javascript" src="../libraries/p5.js"></script> <style> body {background-color: white;font-family:"Lucida Console", Monaco, monospace;font-size:12;color:grey;} h1 {color: blue;} p {color: black; font-size:14;} </style> </head> <body> <h1>Auto Chapter Generator</h1> <h2>This example uses a pre-trained model on the collection of all the chapters (in the form of markdown) of the book Aesthetic Programming: A Handbook of Software Studies</h2> <p>seed text: <input id="textInput" value="Afterword: Recurrent Imaginaries" size="30"/> </p> <p>length: <input id="lenSlider" type="range" min="100" max="2000" value="1000"/> <span id="length">1000</span></p> <p>temperature: <input id="tempSlider" type="range" min="0" max="1" step="0.01"/> <span id="temperature">0.5</span></p> <p id="status">Loading Model</p> <button id="generate">generate</button> <hr> <p id="result"></p> <script src="sketch.js"></script> </body> </html> ``` ## Reading Auto Chapter Generator 閱讀自動章節生成器 索引.html index.html 要將 ml5.js 庫做為整體草圖的一部分加載,您需要在 index.html 中添加以下行,就像使用 clmtrackr 庫導入第 4 章“數據捕獲”中討論的其他庫一樣。對於這個例子,我們使用 ml5.js 庫 - 版本 0.4.3。 To load the ml5.js library as part of the overall sketch, you need the following line in your index.html, just like importing other libraries as discussed in Chapter 4, “Data capture,” with the clmtrackr library. For this example, we are using ml5.js library - version 0.4.3. <script src="https://unpkg.com/ml5@0.4.3/dist/ml5.min.js" type="text/javascript"></script> 除了新的 ml5.js 之外,HTML 文件還包含以下 DOM 元素(見圖 10.8),可以顯示相應的數據,並在那裡與用戶進行交互。因此,sketch.js 主要用於處理來自 DOM 和表單元素的數據,而不用於畫布繪製(noCanvas() 在函式 setup(){} 的第 12 行中使用)。 Apart from the new ml5.js, the HTML file contains the following DOM elements (see Figure 10.8) that can display the corresponding data, and interact with the user there. As such the sketch.js is mainly used to process the data from the DOM and form elements, and it is not used for canvas drawing (noCanvas() is used in Line 12 within the function setup(){}). 用於輸入種子/輸入文本的文本輸入框。在這個例子中,我們使用了“Afterword: Recurrent Imaginaries”做為序列輸入來生成下一個字符,不斷形成新的種子序列進行下一個字符預測:<input id="textInput" value="Afterword: Recurrent Imaginaries" size ="30"/>
A text input box for entering seed/input text. In this example, we have used “Afterword: Recurrent Imaginaries” as a sequence input to generate the next character, continuously forming a new seed sequence for next character prediction: <input id="textInput" value="Afterword: Recurrent Imaginaries" size=“30"/> 用於選擇生成字符數的滑塊,範圍從 100 到 2,000:<input id="lenSlider" type="range" min="100" max="2000" value="1000"/>
A slider for selecting the number of generated characters with a range from 100 to 2,000: <input id="lenSlider" type="range" min="100" max="2000" value=“1000"/> 用於設置溫度的滑塊(控制預測不確定度的值)40,範圍從 0 到 1: <input id="tempSlider" type="range" min="0" max="1" step="0.01"/>
A slider for setting the temperature (the value that controls the amount of uncertainty of predictions)40 which has a range from 0 to 1: <input id="tempSlider" type="range" min="0" max="1" step=“0.01"/> 文本顯示程式的狀態,例如“正在加載模型”、“模型已加載”、“正在生成……”、“準備就緒!”:<p id="status">正在加載模型</p>
The text shows the status of the program, e.g. “Loading Model,” “Model Loaded,” “Generating…,” “Ready!”: <p id="status">Loading Model</p> 帶有“generate”字樣的可點擊按鈕:<button id="generate">generate</button>
A clickable button bearing the word “generate”: <button id=“generate">generate</button> 顯示生成文本的結果區域:<p id="result"></p>
A result area that displays the generative text: <p id=“result”></p> 草圖.js sketch.js 草圖加載預訓練模型並根據收集的數據(種子文本、其長度和溫度值)生成文本。 The sketch loads the pre-trained model and generates text based on the collected data (the seed text, its length, and temperature value). let charRNN; function setup() { charRNN = ml5.charRNN('models/AP_book/', modelReady); … } 第一步是使用 ml5.js 庫中的 charRNN 方法(請參閱上面的第 4 行)使用路徑 models/AP_book/ 將經過訓練的模型初始化並加載到您的草圖中。 當模型成功加載到草圖中時,回調函式 modelReady 將被執行,並將其狀態從“加載模型”更改為“模型加載”。 The first step is to initialize and load the trained model into your sketch with the path models/AP_book/ by using the method charRNN from the ml5.js library (see Line 4 above). The callback function modelReady will be executed when the model is successfully loaded into the sketch and will change its status from “Loading Model” to “Model Loaded.” function setup() { … // Grab the DOM elements textInput = select('#textInput'); lengthSlider = select('#lenSlider'); tempSlider = select('#tempSlider'); button = select('#generate'); // DOM element events button.mousePressed(generate); lengthSlider.input(updateSliders); tempSlider.input(updateSliders); … } 程式以對象的形式收集數據(使用select語法搜索HTML元素,特別是index.html中已經定義的輸入id):種子文本(基於文本輸入),長度 預測文本(基於滑塊),以及溫度值(基於另一個滑塊)。 The program collects data in the form of objects (using the select syntax to search for the HTML elements, especially the input id that have been defined in index.html): the seed text (based on the text input), the length of the predictive text (based on the slider), as well as the temperature value (based on the other slider). function generate() { … let data = { seed: txt, temperature: tempSlider.value(), length: lengthSlider.value() }; charRNN.generate(data, gotData); … } 生成器所需的關鍵數據是用於生成文本的種子文本、溫度和長度(字符數)。 這些數據對像被傳遞給 charRNN 的方法:charRNN.generate(),以便通過預訓練模型(使用回調函式 gotdata())處理種子文本。 此 .generate() 方法返回文本對象示例做為示例輸出。 從理論上講,預測文本將學習所有章節的風格(如果只是粗略的),然後相應地生成新文本。 The key data required for the generator are the seed text, temperature, and length (the numbers of characters) for text generation. These data objects are passed on to the charRNN’s method: charRNN.generate() in order to process the seed text via the pre-trained model (with a callback function gotdata()). This .generate() method returns the text object sample as sample output. Theoretically, the predictive text will have learnt the style from all the chapters (if only crudely) and then generates the new text accordingly. function gotData(err, result) { … select('#result').html(txt + result.sample); … } 最後,結果將通過 gotData() 函式顯示在螢幕上。 請注意,ml5.js 庫還會使用參數 err 來檢查錯誤。 Finally, the result will be displayed on screen with the gotData() function. Note that the ml5.js library also checks for errors with the argument err. ## Exercise in class 課堂練習 使用 Auto Chapter Generator 程式並嘗試根據不同的長度和溫度值生成文本。
Work with the Auto Chapter Generator program and try to generate texts based on different length and temperature values. 生成文本示例還鏈接到第 5 章“自動生成器”,在代理、不可預測性和生成性方面,但鑑於我們對機器學習的了解,本章如何改變我們對這些術語的理解? 在這種情況下學習什麼? 機器教會了我們什麼? 在預測的生產中,機器學習需要什麼?41
The generative text example also links to the Chapter 5, “Auto-generator,” in terms of agency, unpredictability, and generativity, but how does this chapter change our understanding of these terms given what we know about machine learning? What is learning in this context? What do machines teach us? And in the production of prediction, what does machine learning want?41 ## While() 當() 本書各章探討的許多問題都集中在對機器學習及其對關鍵技術實踐的意義的討論中。我們在這里特意再次引用 Agre 和他的文章“邁向關鍵技術實踐”42,以強調人工智能等技術領域的社會和政治方面的重要性。他的斷言是,人工智能是一種話語實踐,因為技術術語展示了智力生成的方式,在跨領域以及在其他不同的技術和關鍵活動以及知識傳統之間進行了深刻的類比。這裡的部分問題源於將表徵與其所代表的事物混為一談的傾向。一方面,我們有一個尋求精確的技術傳統,另一方面,有一個尋找意義模糊的批判傳統。43 否認任何一種方法都毫無意義。例如,在工程師會議上,關於深度學習的主題,Ruha Benjamin 將沒有社會學深度的計算深度稱為“表面學習”。 44 Many of the issues explored across the chapters of this book come together in the discussion of machine learning and what this means for critical-technical practice. We deliberately reference Agre again here and his essay “Toward a Critical Technical Practice”42 to stress the importance of social and political aspects of technical fields such as AI. His assertion is that AI is a discursive practice because of the way the technical terminology demonstrates intellectual generativity, drawing deep analogies across fields, and between otherwise disparate technical and critical activities, and intellectual traditions. Part of the problem here is rooted in the tendency to conflate representations with the things that they represent. On the one hand, we have a technical tradition that looks for precision and, on the other, there is a critical tradition that looks for ambiguity of meaning.43 It makes little sense to deny either approach. For example, on the subject of deep learning at a conference of engineers, Ruha Benjamin referred to computational depth without sociological depth as “superficial learning.”44 “學習”這個詞就是一個相關的例子。塞繆爾首先將機器學習定義為“讓計算機無需明確程式設計即可學習的研究領域”,他在人類和機器學習之間進行了類比,將書籍如何加速人類學習與機器在玩遊戲中取得的成功進行了比較。像跳棋/跳棋)。45 當然,在機器智能和人類認知發展之間進行類比是很常見的,尤其是在兒童中。從廣義上講,這是一種(建構主義)思想,將學習視為通過體驗世界並從中學習的東西。然而,這也可能顯得膚淺,例如,在李飛飛的 Nicolas Malevé 引用的以下示例中,描述了她對教機器看的洞察力,為 ImageNet 的發展提供了信息: The word “learning” is a pertinent example. By first defining machine learning as a “field of study that gives computers the ability to learn without being explicitly programmed,” Samuel draws a parallel between human and machine learning, comparing how books speed up human learning to the success of machines in playing games (like draughts/checkers).45 It is of course quite common to draw analogies between machine intelligence and cognitive development in humans, especially in children. This is broadly a (constructivist) idea of learning as something informed by, and learning from, experiencing the world. Yet this can also appear superficial, as for instance, in the following example cited by Nicolas Malevé of Fei-Fei Li describing her insight into teaching a machine to see, informing the development of ImageNet: “如果你把孩子的眼睛看作是一對生物相機,他們每兩百毫秒拍攝一張照片,這是眼球運動的平均時間。因此,到三歲時,一個孩子將擁有數億張現實世界的照片。這是很多訓練示例。因此,我的見解不是僅僅關注越來越好的算法,而是為算法提供那種訓練數據,就像孩子們從經驗中獲得的那樣,無論是數量還是質量。”46 “If you consider a child’s eyes as a pair of biological cameras, they take one picture about every two hundred milliseconds, the average time an eye movement is made. So by age three, a child would have hundreds of millions of pictures of the real world. That’s a lot of training examples. So instead of focusing on solely better and better algorithms, my insight was to give the algorithms the kind of training data that a child was given by experiences, in both quantity and quality.”46 該示例展示了人類和機器視覺之間的還原等效。但我們的興趣更多是關於培訓、教學和一般學習的隱含含義。我們都參與到教機器看圖像的過程中,Malevé 描述了當我們使用智能手機和電腦等日常設備時發生的大量訓練。他的興趣與其說是我們在這些過程中的同謀,不如說是哪些教學方法可能有用。我們可以從機器學習的動態中學到什麼?用他的話說,如何“轉化它,被它轉化?或者,用更接近李飛飛的術語來表述這一點,我們如何才能有效地思考這一代人類和算法正在共同學習觀看圖像的事實?”47 他的干預是詢問機器學習的程度和激進的教學法可能會相互學習,超越壓迫性的主客體關係,成為學習者可以成為他們自己學習的更積極參與者的東西。48 我們需要學習如何學習。 The example presents a reductive equivalence between human and machine vision. But our interest is more about what is implied about training, teaching, and learning in general. We are all involved in the process of teaching machines to look at images, and Malevé describes the enormous amounts of training that takes place when we use everyday devices such as smart phones and computers. His interest is not so much our complicity in these processes, but which pedagogical methods might be useful. What could we learn about learning from the dynamics of machine learning? In his words, how to “transform it and be transformed by it? Or, to formulate this in terms even closer to Fei-Fei Li’s, how can we think productively about the fact that a generation of humans and algorithms are learning together to look at images?”47 His intervention is to ask to what extent machine learning and radical pedagogy might learn from each other, moving beyond the oppressive subject-object relations to something in which learners can become more active participants in their own learning.48 We need to learn how to learn. 如果視覺素養不再是簡單的人類教育任務,而是機器的教育任務,那麼它就成為最廣泛意義上的人機素養問題。在許多方面,約翰·伯傑的《觀看之道》仍然是我們認為的有用參考。當然,自從 Berger 寫道“我們所見與所知之間的關係永遠不會得到解決”之後,很多事情都發生了變化,49 但考慮到我們對機器學習的了解,我們確實可能會問,這種關係是如何進一步變得不穩定的。 50可以說機器“看到”或“學習”是計算實踐的簡寫,它僅通過使用各種算法和模型來近似可能的結果。可以看出什麼構成知識的排列方式進一步回憶了伯傑對廣播他的想法的電視媒體的反思: If visual literacy is no longer simply an educational task for humans, but also for machines, then it becomes a question of human-machine literacy in its broadest sense. In many ways, John Berger’s Ways of Seeing continues to be a useful reference we think. Of course much has changed since Berger wrote that the “relation between what we see and what we know is never settled,”49 but given what we do know about machine learning, we might indeed ask how that relationship has been further unsettled.50 That machines can be said to “see” or “learn” is shorthand for calculative practices that only approximate likely outcomes by using various algorithms and models. What constitutes knowledge can be seen to be arranged in ways that further recall Berger’s reflections on the medium of television through which his ideas were broadcast: “但請記住,我正在為我自己的目的控制和使用這些程式所需的複製手段 [...] 與此程式一樣,與所有程式一樣,您會收到排列好的圖像和含義。我希望你能考慮我的安排,但請保持懷疑。”51 “But remember that I am controlling and using for my own purposes the means of reproduction needed for these programmes […] with this programme as with all programmes, you receive images and meanings which are arranged. I hope you will consider what I arrange but please remain skeptical of it.”51 我們想在這裡重申這一點,並鼓勵對生產方式進行深入反思——包括這樣的書籍,也許那些與教學和學習有關的書籍尤其值得懷疑。學到的東西不應該脫離它傳播的方式,也不應該脫離人到機器或機器到人的傳播方向。更重要的是,意義的產生是我們討論的核心,同樣關注正在學習的內容,以及這在多大程度上被關於世界如何運作的還原觀念所損害或影響。 Mackenzie 問道:“機器學習的有點不守規矩的概括 [...] 是否證明了知識、決策和控制的重新定義,一種新的操作形式,其中'系統被轉換'?”52 在這些條件下,人類之間的關係機器學習變得模糊。學習的總體理念意味著對已知的事物和方式的新形式的控制。在這裡,麥肯齊以福柯為基礎,將機器學習理解為一種知識生產形式和一種權力策略。他試圖了解機器學習者如何通過他們的差異產生不同種類的知識,例如他們對數據進行分類和分類的方式(例如,這個人的圖像是特定的性別、種族、可能的恐怖分子等)。在這種情況下,知識通常被設置在最低公分母上,並得到從中獲利的公司的巨大基礎設施力量的支持,亞馬遜和谷歌等平台媒體帝國的情況就是如此,他們在這項技術上進行了大量投資。以便用戶可以提供數據並學習成為更好的消費者)。總之,鑑於機器學習產生的更廣泛的背景,人們對機器學習產生的知識形式存在一些嚴重的擔憂。在這方面聰明也是膚淺的學習。 We would like to reiterate this here and encourage deep reflection on the means of production — including books like this, and perhaps those that relate to teaching and learning are particularly suspect. What is learnt should not be separated from the means by which it is transmitted, nor the direction of travel from human to machine or from machine to human. More to the point, the production of meaning lies at the core of our discussion, as are concerns about what is being learnt, and to what extent this has been compromised or inflected by reductive ideas of how the world operates. Mackenzie asks, “Does the somewhat unruly generalization of machine learning […] attest to a redefinition of knowledge, decision, and control, a new operational formation in which a ‘system is transformed’?”52 Under these conditions, the relations between human and machine learning become blurry. The overall idea of learning implies new forms of control over what and how something becomes known. Here Mackenzie builds on Foucault to understand machine learning as a form of knowledge production and as a strategy of power. He tries to understand how machine learners produce different kinds of knowledge through their differences, for instance the ways they classify, and categorize data (e.g. this image of a person is a specific gender, race, likely terrorist, etc.). Knowledge is often set at the lowest common denominator in such cases, backed up by the enormous infrastructural power of the companies that profit from this as is the case for platform-based media empires such as Amazon and Google who have invested massively in this technology (so that users can supply data and learn to be better consumers). In summary there are some serious worries about the forms of knowledge produced by machine learning given the broader context in which it arises. Being smart in this respect is also superficial learning. 所有這些想法都為進一步的工作和反思提供了起點。 53 真實與虛構之間的相互作用是其中的一部分,例如“deepfakes”(深度學習的文字遊戲)將為合成的方式提供一個很好的額外案例研究。實例可以傳遞真實數據。對此過程的簡要描述以及“生成對抗網絡”(GAN) 的操作可能會在此處提供有用的補充。 54 對於 GAN,有兩個神經網絡 — 一個“生成器”,一個生成新數據實例,一個“判別器” ”然後將生成器創建的虛假數據與真實數據區分開來——用越來越逼真的虛假數據相互挑戰,雙方都優化他們的策略,直到他們生成的數據與真實數據無法區分。這也是一種(無監督的)訓練方法,它不依賴於人類對輸入圖像的標記,因為機器會根據自己的分析生成分組。批判理論能否從中吸取教訓,與辯證唯物主義產生共鳴,在這種辯證唯物主義中,一切都被認為是在通過矛盾轉化的過程中,成為技術現實?這種方法可能會為計算邏輯和政治的混合開闢替代方案嗎? 55 All these ideas provide starting points for further work and reflection.53 The interplay between truth and fiction is part of this, and “deepfakes” for example (a wordplay on deep learning) would make a good additional case study for the way in which synthetic instances can pass for real data. A brief description of this process, and the operations of “Generative Adversarial Networks” (GANs) might make a useful addition here.54 With a GAN, two neural nets — a “Generator” that forges a new data instance, and a “Discriminator” that then distinguishes fake data created by the Generator from real data — challenge each other with increasingly realistic fakes, both optimizing their strategies until their generated data is indistinguishable from the real data. This is also a (unsupervised) method of training that doesn’t rely on the tagging of input images by humans as the machine generates groupings based on its own analysis. Might critical theory learn from this, something that resonates with dialectical materialism in which everything is considered to be in a process of transformation through contradiction, and becomes a technical reality? Might such an approach open up alternatives to the conflation of computational logics and politics?55 在開始以這種方式考慮計算操作時,做為概念模型或圖表,我們通過泛化、預測和生成未來可能性的過程廣泛地遵循我們迄今為止所學到的機器學習知識。我們使用最後一章來指出未來要開展的關鍵工作,並反思機器學習做為一組方法,這些方法與我們通過程式設計實踐學習的經驗並行地從數據中學習。正如 Agre 所說:“至少在可預見的未來,關鍵的技術實踐將需要一個分裂的身份——一隻腳植根於設計的工藝工作,另一隻腳植根於批判的反思性工作。”56 然後的挑戰是在這兩種模式中工作並從中學習,而不是做為一種分裂,而是做為一種奇怪的身份,開闢在不同環境中流暢工作的方式。在這方面,我們認為關鍵技術實踐是一種奇怪的實踐,因為我們希望在本書中已經清楚地說明了這一點。以這種方式美學程式設計展示了一些可能的方法來進一步打破理論與實踐、思維與行為、藝術與技術、人類與機器等的二元分裂。 In beginning to think about computational operations in this way, as conceptual models or diagrams, we broadly follow on from what we have learnt thus far about machine learning through a process of generalization, prediction, and the generation of future possibilities. We use this last chapter as a way to point to future critical work to be undertaken and to reflect on machine learning as a set of methods that learn from data in parallel to our experience of learning through the practice of programming. As Agre puts it: “A critical technical practice will, at least for the foreseeable future, require a split identity — one foot planted in the craft work of design and the other foot planted in the reflexive work of critique.”56 The challenge then is to work across and learn from both these modes, not as a split but queer identity, opening up ways of working fluidly across diverse contexts. In this regard, we consider critical technical practice to be a queer praxis, as we hope has been made clear throughout this book. Aesthetic programming in this way demonstrates some of the possible ways to further unsettle the binary split of theory and practice, thinking and doing, art and technology, humans and machines, and so on. 所有這些都值得更長時間的討論,在這些結束段落中根本沒有空間。同時,這種限制使我們能夠超越本書——也許是另一本書尚未編寫——因為如果工作流程自動化,那麼我們做為作家、編輯、設計師、程式設計師和教師的工作也將自動化。潛在的擔憂是我們的決策、思考和創造力將被自動化,我們確定未來的能力將受到預測算法的影響。 57 我們希望我們設法解決的正是這種對算法力量的質疑在這裡提供一些見解,對這些過程進行一定程度的控制,並指出替代結果和“反復出現的想像”(下一章的副標題)。 All this deserves longer discussion that there simply isn’t space for in these closing paragraphs. At the same time, the constraint allows us to point beyond this book — perhaps to another yet to be written — because if work processes are automated then our work as writers, editors, designers, programmers and teachers will be too. The underlying worry is that our decision-making, thinking, and creativity will be automated, and that our ability to determine our futures will become compromised by predictive algorithms.57 It is this questioning of the power of algorithms that we hope we have managed to provide some insight into here, to assert some level of control over these processes, and to point to alternative outcomes and “recurrent imaginaries” (the subtitle of the following chapter). 這種對未來可能性的感覺也是我們可以說 Mackenzie 的工作特別有價值的地方,因為他專注於特定的算法和數據實踐,以了解人機關係及其轉換的特殊性,尤其是強調了不確定性和偶然性在這些過程中工作。換句話說,機器學習絕不是簡單的確定性的(正如我們在本章的練習中看到的),而是不斷地進行修訂和修改,並且就其本質而言是過程驅動的。它也不同程度地應用於跨學科和實踐領域、跨開源平台和感興趣的社區,不斷地自我改造,並在此過程中不斷轉變。58 這有助於展示一個程式如何不僅僅是它的原始碼。有一整套遞歸操作使各種過程以多種方式發生變革。59 問題在於,這種不同的機器學習編碼模式在多大程度上導致了不同的知識生產模式,並改變了人機關係。就整本書而言,結果是出現了哪些替代知識和美學實踐? This sense of future possibilities is also where we would say Mackenzie’s work is particularly valuable as he devotes attention to specific algorithms and data practices to understand the particularity of human-machine relations, and their transformations, and not least to emphasize the uncertainties and contingencies at work in these processes. In other words, machine learning is by no means simply deterministic (as we have seen in the exercises for this chapter) but is endlessly subject to revision and modification, and by its very nature is process-driven. It is also variably applied across disciplines and fields of practice, across open source platforms and communities of interest, endlessly transforming itself, and being transformed along the way.58 This serves to demonstrate how there is more to a program than simply its source code. There is a whole range of recursive operations that render the various processes transformative in multiple ways.59 The question becomes to what extent this different mode of coding for machine learning leads to a different mode of knowledge production, and transforms human-machine relations. When it comes to the book as a whole, which alternative knowledge and aesthetic practices emerge as a consequence? – MiniX: final project 246 MiniX:最終項目 美學程式設計是一項關鍵技術實踐。它探索閱讀、寫作和構建的實踐,以及思考和理解支撐我們經驗和現實的複雜計算過程。為了解決這些實踐的交叉點,我們將程式設計的基本概念做為進一步反思的起點——考慮到技術詞彙的精確性和模糊性以及特定的計算實踐——從而為進一步理解文化現象的構建方式奠定基礎並投入運營。 Aesthetic programming is a critical-technical practice. It explores the practice of reading, writing, and building, as well as thinking with, and understanding the complex computational procedures that underwrite our experiences and realities. To address these intersections of practice we have worked with fundamental concepts of programming as the starting point for further reflection — considering the precision and ambiguity of technical vocabulary as well as specific computational practices — thereby laying the groundwork for further understanding of how cultural phenomena are constructed and operationalized. 利用課程,包括各種理論和概念文本,您的任務(做為一個小組)是概念化、設計、實施和闡明您選擇的計算工件。我們希望,到目前為止,幾乎不用說,這應該證明您有能力整合實際程式設計和概念技能,以表達並開發探索軟體美學和政治的關鍵技術工件。 Drawing on the curriculum, including the various theoretical and conceptual texts, your task (as a group) is to conceptualize, design, implement, and articulate a computational artifact of your choice. We hope that, by now, it almost goes without saying that this should demonstrate your ability to integrate practical programming and conceptual skills to articulate, and develop a critical-technical artifact that explores the aesthetics and politics of software. 這裡有一些提示可以幫助您為您的項目提出一個想法: Here are few tips may help you to come up with an idea for your project: 您可以再看看我們用於啟發的主題,包括:識字/入門、可變幾何、無限循環、數據捕獲、自動生成器、對象抽象、語音程式碼、查詢數據、算法程式,機器學習,以及寫作和編碼,面部識別,表情符號,(微)時間性,捕獲所有/數據化,交互性,基於規則的系統,面向對象,語言和語音,表現力,算法文學,數據處理政治和學習,所有這些都得益於對種族、階級和性別政治的關注。
You may take another look at the themes that we have used for inspiration, including: literacy/getting started, variable geometry, infinite loops, data capture, auto-generator, object abstraction, vocable code, que(e)ry data, algorithmic procedures, machine unlearning, as well as writing and coding, facial recognition, emojis, (micro)temporalities, capture all/datafication, interactivity, rule-based systems, object orientation, language and speech, expressivity, algorithmic literature, politics of data processing and learning, all underwritten by an attentiveness to a politics of race, class, and gender. 再看一遍之前所有的小練習和提出的問題。有沒有你想進一步探索的?
Take a look again at all the previous mini exercises and the questions that were posed. Are there any that you want to explore further? 是否有任何指定/建議的文本讓您受到啟發,並想進一步探索?
Are there any assigned/suggested texts that you are inspired by, and you want to explore further? 您是否想進一步探索任何特定的技術領域?
Are there any particular technical areas that you want to explore further? 跑我:
RunMe: 生成用 p5.js(或 HTML/CSS/JS/p5/ml5/node.js 的組合)編寫的軟體工件。
Produce a software artifact written in p5.js (or a combination of HTML/CSS/JS/p5/ml5/node.js). 請記住包括所有外部庫和數據/資產,例如圖像、字體、文本文件、聲音文件等。此外,如果您借用了其他示例程式碼或想法,請在程式碼註釋中引用您的來源。 Remember to include all external libraries and data/assets such as images, fonts, text files, sound file, etc. Furthermore, if you have borrowed other sample code or ideas, please cite your sources in the code comments. 自述: ReadMe: 寫一份 6-8 頁的文件(每頁最大字符數:2,400,包括空格),其中必須列出學術來源(從字符數中排除圖像、參考文獻和註釋)。 Write a document of 6-8 pages (max characters per page: 2,400 including spaces) which has to list academic sources (exclude images, references, and notes from the character count). 該文檔應包括標題、螢幕截圖、流程圖、參考文獻、最終項目 RunMe 的鏈接、相關項目的鏈接(如果有),以及之前所有小練習的鏈接(做為附錄)。 The document should include a title, a screen shot, a flowchart, references, a link to your final project’s RunMe, with links to related projects (if there are any), as well as the links of all your previous mini exercises (as an appendix). 自述文件應在您的原始碼、程式設計過程和您選擇的閱讀材料的幫助下解決以下問題: The ReadMe should address the following questions with the help of your source code, programming processes, and your selected readings: 你的軟體是關於什麼的(簡要描述它是什麼,它是如何工作的,以及它打算探索什麼)?
What is your software about (provide a short description of what is it, how it works, and what it sets out to explore)? 您的工作是如何解決至少一個主題並探索程式碼的技術和文化方面的交叉點的?
How does your work address at least one of the themes and explore the intersections of technical and cultural aspects of code? 開放性問題:在多大程度上可以認為工件本身是一項關鍵工作?
Open question: To what extent can the artifact be considered to be a critical work in and of itself? – Required reading 248 必讀 Ruha Benjamin,“機器人是種族主義者嗎:重新想像技術和社會的初始設定”,講座(2019 年),https://www.dropbox.com/s/j80s8kjm63erf70/Ruha%20Benjamin%20Guest%20Lecture.mp4。
Ruha Benjamin, “Are Robots Racist: Reimagining the Default Settings of Technology and Society,” lecture (2019), https://www.dropbox.com/s/j80s8kjm63erf70/Ruha%20Benjamin%20Guest%20Lecture.mp4. Geoff Cox,“機器視覺的方式”,Unthinking Photography(2016 年),https://unthinking.photography/articles/ways-of-machine-seeing。
Geoff Cox, “Ways of Machine Seeing,” Unthinking Photography (2016), https://unthinking.photography/articles/ways-of-machine-seeing. Yuval Noah Harari、Audrey Tang 和 Puja Ohlhaver,“被黑還是不被黑? 民主、工作和身份的未來”,RADICALxChange(2020 年),https://www.youtube.com/watch?v=tRVEY95cI0o。
Yuval Noah Harari, Audrey Tang, and Puja Ohlhaver, “To Be or Not to Be Hacked? The Future of Democracy, Work, and Identity,” RADICALxChange (2020), https://www.youtube.com/watch?v=tRVEY95cI0o. – Further reading 248 進一步閱讀 Kate Crawford 和 Vladan Joler,“人工智能係統剖析:亞馬遜迴聲做為人類勞動、數據和行星資源的解剖圖”,人工智能研究所(2018 年),https://anatomyof.ai/。
Kate Crawford and Vladan Joler, “Anatomy of an AI System: The Amazon Echo as an Anatomical Map of Human Labor, Data and Planetary Resources,” AI Institute (2018), https://anatomyof.ai/. Shakir Mohamed、Marie-Therese Png、William Isaac,“Decolonial AI:Decolonial Theory as Sociotechnical Foresight in人工智能”,Philosophy & Technology,Springer,2020 年 7 月 12 日,https://doi.org/10.1007/s13347-020 -00405-8。
Shakir Mohamed, Marie-Therese Png, William Isaac, “Decolonial AI: Decolonial Theory as Sociotechnical Foresight in Artificial Intelligence,” Philosophy & Technology, Springer, July 12 (2020), https://doi.org/10.1007/s13347-020-00405-8. Adrian Mackenzie 和 Anna Munster,“平台觀看:圖像集成及其視覺效果”,理論、文化與社會 26,第 1 期。 5 (2019): 3-22。
Adrian Mackenzie and Anna Munster, “Platform Seeing: Image Ensembles and Their Invisualities,” Theory, Culture & Society 26, no. 5 (2019): 3-22. Daniel Shiffman,“JavaScript 機器學習初學者指南”,編碼列車,https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YPSwT06y_AEYTqIwbeam3y
Daniel Shiffman, “Beginners Guide to Machine Learning in JavaScript,” The Coding Train, https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YPSwT06y_AEYTqIwbeam3y – Notes 249 筆記 需要指出的是,雖然機器學習是人工智能的一部分,但人工智能是一個更廣泛的概念。人工智能、機器學習和深度學習是經常互換使用的術語,但有一些關鍵的區別。解釋一下:“您可以將深度學習、機器學習和人工智能視為一組相互嵌套的俄羅斯娃娃,從最小的開始,然後鍛煉身體。深度學習是機器學習的一個子集,而機器學習是人工智能的一個子集,人工智能是任何計算機程式的總稱。換句話說,所有機器學習都是人工智能,但並非所有人工智能都是機器學習,等等。”參見 Pathmind 的“A.I. Wiki:AI、機器學習和深度學習重要主題的初學者指南,”https://pathmind.com/wiki/ai-vs-machine-learning-vs-deep-learning。 ↩
It should be pointed out that although machine learning is part of AI, AI is a broader concept. AI, machine learning and deep learning are terms that are often used interchangeably but there are key distinctions to be made. To explain: “You can think of deep learning, machine learning and artificial intelligence as a set of Russian dolls nested within each other, beginning with the smallest and working out. Deep learning is a subset of machine learning, and machine learning is a subset of AI, which is an umbrella term for any computer program that does something smart. In other words, all machine learning is AI, but not all AI is machine learning, and so forth.” See Pathmind’s “A.I. Wiki: A Beginner’s Guide to Important Topics in AI, Machine Learning, and Deep Learning,” https://pathmind.com/wiki/ai-vs-machine-learning-vs-deep-learning. ↩ 請參閱 Kate Crawford 和 Vladan Joler 的文章和圖表“AI 系統的剖析:亞馬遜迴聲做為人類勞動、數據和行星資源的解剖圖”(2018 年),了解詳細說明,https://anatomyof.ai /. ↩
See Kate Crawford and Vladan Joler’s essay and diagram “Anatomy of an AI System: The Amazon Echo as an anatomical map of human labor, data and planetary resources,” (2018) for a detailed explanation of this, https://anatomyof.ai/. ↩ 機器學習是 Arthur Samuel 於 1959 年在 IBM 的遊戲開發研究期間創造的一個術語,最終目的是減少甚至消除對“詳細程式設計工作”的需求,通過泛化學習來實現模式識別。參見 Arthur L. Samuel,“使用跳棋遊戲進行機器學習的一些研究”,IBM 研究與開發雜誌 3,第 3 期(1959 年):210-229。 ↩
Machine learning is a term coined by Arthur Samuel in 1959 during his game development research at IBM which ultimately aimed to reduce or even eliminate the need for “detailed programming effort,” using learning through generalization in order to achieve pattern recognition. See Arthur L. Samuel, “Some Studies in Machine Learning Using the Game of Checkers,” IBM Journal of research and development 3, no.3 (1959): 210-229. ↩ 自然語言處理是研究計算機如何理解人類語言的含義,它處理計算機與人類使用該自然語言之間的交互。這涉及人工智能、計算機科學和語言學領域,應用程式包括文本到語音、語音助手和(語言)翻譯程式。 ↩
Natural language processing is the study of how a computer understands the meaning of human language, and it deals iwth the interaction between computers and humans using that natural language. This relates to the fields of Artificial Intelligence, Computer Science and Linguistics with applications such as text-to-speech, voice assistants, and (language) translation programs. ↩ Joseph Weizenbaum,“ELIZA——用於研究人機自然語言交流的計算機程式”,ACM 通訊 9,第 1 期(1966 年):36-45。 ↩
Joseph Weizenbaum, “ELIZA — a Computer Program for the Study of Natural Language Communication between Man and Machine,” Communications of the ACM 9, no.1 (1966): 36-45. ↩ 魏岑鮑姆。 “伊麗莎*,42歲。↩
Weizenbaum. “ELIZA*, 42. ↩ 參見艾倫 M. 圖靈。 “計算機械和智能”,Mind 49(1950):433-460。 ↩
See Alan M. Turing. “Computing machinery and intelligence,” Mind 49 (1950): 433-460. ↩ 劇名取材於希臘神話中,雕刻家皮格馬利翁愛上了他雕刻的雕像,維納斯賦予了它生命的氣息。 ↩
The title of the play makes reference to the Greek myth in which Pygmalion, a sculptor, falls in love with a statue he carves, and Venus grants it the breath of life. ↩ 起源於倫敦東區的 Cockney 押韻俚語是一種編碼語言,它被故意創建為使其他聽眾難以理解,因此對於特定社區或階級群體之外的其他人來說也是如此。人們可能會想像使用 cockney 押韻俚語做為程式設計語言的命名約定,請參閱 https://news.ycombinator.com/item?id=9402410。 ↩
Originating in the East End of London, Cockney rhyming slang is a coded language which was purposely created to be obscure to other listeners, and hence to others outside a particular community or indeed class group. One might imagine using cockney rhyming slang for the naming conventions of a programming language, see https://news.ycombinator.com/item?id=9402410. ↩ Clemens Apprich,“介紹”,在 Clemens Apprich、Florian Cramer、Wendy Hui Kyon Chun 和 Hito Steyerl 編輯,模式鑑別(明尼蘇達州:Meson Press,2018 年),x。 ↩
Clemens Apprich, “Introduction,” in Clemens Apprich, Florian Cramer, Wendy Hui Kyon Chun, and Hito Steyerl, eds., Pattern Discrimination (Minnesota: Meson Press, 2018), x. ↩ Marie Louise Juul Søndergaard 和 Lone Koefoed Hansen 認為“女性性別化”在數字個人助理中被複製和應用,請參閱他們的“親密的未來:通過設計小說解決數字個人助理的麻煩”(紐約:ACM 出版社,2018 年) :869-80,https://doi.org/10.1145/3196709.3196766。 ↩
Marie Louise Juul Søndergaard and Lone Koefoed Hansen argue that “feminine gendering” is reproduced and applied in digital personal assistants, see their “Intimate Futures: Staying with the Trouble of Digital Personal Assistants through Design Fiction” (New York: ACM Press, 2018): 869–80, https://doi.org/10.1145/3196709.3196766. ↩ 谷歌的在線翻譯服務延續了性別刻板印象,https://twitter.com/mit_csail/status/916032004466122758。 ↩
Google’s online translation service perpetuatess gender stereotypes, https://twitter.com/mit_csail/status/916032004466122758. ↩ 例如,微軟聊天機器人 Tay 於 2016 年通過 Twitter 發布,但在 16 小時後被關閉,原因是微軟宣布的“無意識的攻擊性和傷害性推文”。請參閱 https://en.wikipedia.org/wiki/Tay_(bot)。 ↩
For example, the Microsoft chatbot Tay was released via Twitter in 2016, but was shut down sixteen hours later due to “unintended offensive and hurtful tweets,” as announced by Microsoft. See https://en.wikipedia.org/wiki/Tay_(bot). ↩ 研究表明,現有的商業識別系統存在性別和種族偏見。參見 Joy Buolamwini,“響應:亞馬遜識別中的種族和性別偏見 - 用於分析人臉的商業 AI 系統”,Medium(2019 年),https://medium.com/@Joy.Buolamwini/response-racial-and-gender-bias -in-amazon-rekognition-commercial-ai-system-for-analyzing-faces-a289222eeced;和 Ruha Benjamin,“機器人是種族主義者:重新想像技術和社會的初始設定”,講座(2019 年),https://www.dropbox.com/s/j80s8kjm63erf70/Ruha%20Benjamin%20Guest%20Lecture.mp4。一些學者還指出,迫切需要對人工智能係統進行重新評估,特別是在性別和種族分類方面。參見 Sarah Myers West、Meredith Whittaker 和 Kate Crawford,歧視系統:人工智能中的性別、種族和權力,AI Now 研究所,紐約大學,4 月(2019 年),https://ainowinstitute.org/discriminationsystems.html。 ↩
Research has shown that existing commercial recognition systems exhibit gender and racial bias. See Joy Buolamwini, “Response: Racial and Gender Bias in Amazon Recognition - Commercial AI System for Analyzing Faces,” Medium (2019), https://medium.com/@Joy.Buolamwini/response-racial-and-gender-bias-in-amazon-rekognition-commercial-ai-system-for-analyzing-faces-a289222eeced; and Ruha Benjamin, “Are Robots Racist: Reimagining the Default Settings of Technology and Society,” lecture (2019), https://www.dropbox.com/s/j80s8kjm63erf70/Ruha%20Benjamin%20Guest%20Lecture.mp4. Some scholars also point to the urgent need of AI system’s re-evaluation especially on gender and race classification. See, Sarah Myers West, Meredith Whittaker, and Kate Crawford, Discriminating Systems: Gender, Race and Power in AI, AI Now Institute, New York University, April (2019), https://ainowinstitute.org/discriminatingsystems.html. ↩ Hito Steyerl,“數據海洋:模式識別和企業萬物有靈論(分叉版)”,Clemens Apprich、Florian Cramer、Wendy Hui Kyon Chun 和 Hito Steyerl,編輯,模式識別,3。↩
Hito Steyerl, “A Sea of Data: Pattern Recognition and Corporate Animism (Forked Version),” in Clemens Apprich, Florian Cramer, Wendy Hui Kyon Chun, and Hito Steyerl, eds., Pattern Discrimination, 3. ↩ 在對 AI 的酷兒和女權主義批評中可能會找到一種更新的方法。例如,參見“促進新色情的對話人工智能代理”,其中酷兒人工智能聊天機器人接受色情文學、女權主義和酷兒理論以及體現倫理學的培訓。見 https://queer.ai/。 ↩
A more recent approach might be found in queer and feminist critiques of AI. See, for example, “Conversational AI agents for the advancement of new eroticisms,” in which queer AI chatbots are trained on erotic literature, feminist and queer theory, and an ethics of embodiment. See https://queer.ai/. ↩ Maria Puig de la Bellacasa 引用了 Lucy Suchman 的短語“智能助手”(她對自主或智能代理的稱呼),它們設法在一方面自主性和我們希望從他們那裡得到的東西之間取得平衡。與其強調獨立、自我激勵、創業工作者的理想,也不想讓助理的工作相對隱蔽,她想強調“中介機構,這些機構不會輕易出現在預示技術成功的描述中[和,引用薩奇曼的話,] 超出其界限的隱藏的勞動和不守規矩的意外事件。”貝拉卡薩希望引起人們對被忽視的事情的關注,即她所說的所謂“小事”,以“更有效地改變內涵,尤其是麻煩、擔心和關心的內涵”。 Maria Puig de la Bellacasa,“技術科學中的關注事項:組裝被忽視的事物”,在《科學社會研究》第 41 期,第 2 期。 1 (2010), 92-3, 89. ↩
Maria Puig de la Bellacasa quotes Lucy Suchman’s phrase “smart assistants” (her term for autonomous or smart agents) that manage to strike a balance between autonomy, on the one hand, and what we want from them on the other. Rather than reinforcing the ideal of the independent, self-motivated, entrepreneurial worker, and making the work of the assistant relatively invisible, she wants to highlight the “mediating agencies that would not easily appear in descriptions that foreground the success of the technology [and, quoting Suchman,] the hidden labors and unruly contingencies that exceed its bounds.” Bellacasa wants to draw attention to what is neglected, the so-called “petty doings of things” as she puts it, to “more affectively changed connotations, notably those of trouble, worry and care.” Maria Puig de la Bellacasa, “Matters of Care in Technoscience: Assembling Neglected Things,” in Social Studies of Science 41, no. 1 (2010), 92-3, 89. ↩ 魏澤鮑姆,“伊麗莎*。 ↩
Weizenbaum, “ELIZA*. ↩ 基於文本的對話式 ElizaBot (elizabot.js) 是由 Norbert Landsteiner 在 2005 年使用 JavaScript 開發的。原始碼可以從 https://www.masswerk.at/elizabot/ 下載。 ↩ 
The text-based conversational ElizaBot (elizabot.js) was developed using JavaScript by Norbert Landsteiner in 2005. The source code can be downloaded from https://www.masswerk.at/elizabot/. ↩ Samuel,“使用跳棋遊戲進行機器學習的一些研究”,211。↩
Samuel, “Some Studies in Machine Learning Using the Game of Checkers,” 211. ↩ 考慮到 ELIZA,值得補充的是,通過刪除“臟”詞,清理數據也接近於對正確語音的規定。多米尼克·拉波特 (Dominique Laporte) 的精彩著作 A History of Shit(劍橋,馬薩諸塞州:麻省理工學院出版社,2002 年)對此有更多細節,其核心與公共衛生的發展平行。 ↩
With ELIZA in mind, it’s worth adding that cleaning data also comes close to the regulation of proper speech with the removal of “dirty” words. Dominique Laporte’s wonderful book A History of Shit (Cambridge, MA: MIT Press, 2002) has more detail on this and its core parallel to the development of public hygiene. ↩ 一個很好的例子是由藝術家 Elisa Giardina Papa 創作的視頻裝置 The Cleaning of Emotional Data (2019),它揭示了清潔數據以訓練機器視覺算法來檢測情緒的工人的全球基礎設施,以及在這樣做的過程中,一些與標準化類別不匹配的情緒被拒絕。 Elisa Giardina Papa,“情感數據的清理”,Aksioma Project Space,盧布爾雅那,2020 年 1 月 15 日至 2 月 7 日,https://aksioma.org/cleaning.emotional.data/。 ↩
A good example is the video installation The Cleaning of Emotional Data (2019), by artist Elisa Giardina Papa, that reveals the global infrastructure of workers who clean data to train machine vision algorithms to detect emotions, and how, in so-doing, some emotions that do not match standardized categories are rejected. Elisa Giardina Papa, “The Cleaning of Emotional Data,” Aksioma Project Space, Ljubljana, January 15–February 7, 2020, https://aksioma.org/cleaning.emotional.data/. ↩ 有關數據集的重要性和相關問題的更多信息,請參閱 Nicolas Malevé 的“圖像數據集簡介”,Unthinking Photography (2019),https://unthinking.photography/articles/an-introduction-to-image-datasets . ↩
For more on the significance of, and problems related to, datasets, see Nicolas Malevé’s “An Introduction to Image Datasets”, Unthinking Photography (2019), https://unthinking.photography/articles/an-introduction-to-image-datasets. ↩ 此練習的靈感來自 Michelle Carney 關於“在 d.school 課堂中使用 Teachable Machine”的文章,Medium,https://medium.com/@michellecarney/using-teachable-machine-in-the-d-school-classroom- 96be1ba6a4f9。 ↩
This exercise is inspired by Michelle Carney’s article on “Using Teachable Machine in the d.school classroom,” Medium, https://medium.com/@michellecarney/using-teachable-machine-in-the-d-school-classroom-96be1ba6a4f9. ↩ 最初受到 Rebecca Fiebrink 的 Wekinator(2009 年)的啟發,這是一個免費的開源軟體,用於藝術家和音樂家的機器學習,“Teachable Machine 1.0”(2017 年)做為 Støg、Use All Five 和 Creative Lab 和 PAIR 團隊的一個實驗項目在 Google,它建立在免費和開源的 tensorflow.js 庫之上,該庫由 Google AI 組織內的 Google Brain 團隊開發,用於預處理數據、構建機器學習模型和結構。 “Teachable Machine 2.0”允許用戶訓練他們的模型並將其導出以供進一步使用。請參閱 http://www.wekinator.org/。 ↩
Inspired originally by Rebecca Fiebrink’s Wekinator (2009), which is a free and open source software on machine learning for artists and musicians, “Teachable Machine 1.0” (2017) as an experimental project by Støg, Use All Five and Creative Lab and PAIR teams at Google, built upon the free and open source tensorflow.js library, which is developed by the Google Brain team within Google’s AI organization, for preprocessing data, building machine learning models and structures. “Teachable Machine 2.0” allows users to train their models and export them for further use. See http://www.wekinator.org/. ↩ 有關 ImageNet 的更多信息,請訪問 http://image-net.org/about-overview。 ↩
More information about ImageNet can be found at http://image-net.org/about-overview. ↩ Wordnet 是單詞之間語義關係的詞彙數據庫,請參見 https://wordnet.princeton.edu/。 ↩
Wordnet is a lexical database of semantic relations between words, see https://wordnet.princeton.edu/. ↩ 在這裡,我們主要是對攝影師畫廊網站 https://thephotographersgallery.org.uk/whats-on/digital-project/exhibiting-imagenet 上對 Malevé 的 Exhibiting ImageNet 項目的描述進行解釋。 ↩
Here we are largely paraphrasing the description of Malevé’s Exhibiting ImageNet project on The Photographers’ Gallery website, https://thephotographersgallery.org.uk/whats-on/digital-project/exhibiting-imagenet. ↩ 可以在 https://anatomiesofintelligence.github.io/ 上找到智能解剖學項目。 ↩
The project Anatomies of Intelligence can be found at https://anatomiesofintelligence.github.io/. ↩ 2019 年在奧胡斯大學舉辦的研討會基於專注於數據分類和聚類的藝術項目 Anatomies of Intelligence,https://anatomiesofintelligence.github.io/workshop_presentation.html。 ↩
The workshop conducted at Aarhus University in 2019 was based on the art project Anatomies of Intelligence which focused on data classification and clustering, https://anatomiesofintelligence.github.io/workshop_presentation.html. ↩ 神經網絡的定義可以在 Pathmind 的“AI Wiki”上找到,https://pathmind.com/wiki/neural-network#define。 ↩
A definition of neural nets can be found on Pathmind’s “AI Wiki,” https://pathmind.com/wiki/neural-network#define. ↩ Richard S. Sutton 和 Andrew Barto,強化學習:介紹,第 1 版(劍橋,馬薩諸塞州:麻省理工學院出版社,1998 年)。 ↩
Richard S. Sutton and Andrew Barto, Reinforcement Learning: An Introduction, 1st Edition (Cambridge, MA: MIT Press, 1998). ↩ David Silver、Julian Schrittwieser、Karen Simonyan、Ioannis Antonoglou、Aja Huang、Arthur Guez、Thomas Hubert 等,“在沒有人類知識的情況下掌握圍棋遊戲”,Nature 550,不。 7676(2017):354-59,https://doi.org/10.1038/nature24270。 ↩
David Silver, Julian Schrittwieser, Karen Simonyan, Ioannis Antonoglou, Aja Huang, Arthur Guez, Thomas Hubert, et al, “Mastering the Game of Go without Human Knowledge,” Nature 550, no. 7676 (2017): 354–59, https://doi.org/10.1038/nature24270. ↩ 提到環境,重要的是要提到與機器學習相關的令人擔憂的環境成本。例如,參見 Karen Hao,“訓練一個 AI 模型在其一生中可以排放五輛汽車的碳”,麻省理工學院技術評論,6 月 6 日(2019 年),https://www.technologyreview.com/s/613630 /training-a-single-ai-model-can-emit-as-much-carbon-as-5-cars-in-their-lifetimes/。 ↩
Whist mentioning environment, it is important to mention that there are worrying environmental costs associated with machine learning. See, for instance, Karen Hao, “Training a single AI model can emit as much carbon as five cars in their lifetimes,” MIT Technology Review, June 6 (2019), https://www.technologyreview.com/s/613630/training-a-single-ai-model-can-emit-as-much-carbon-as-five-cars-in-their-lifetimes/. ↩ Richard S. Sutton,“介紹:強化學習的挑戰”,Richard S. Sutton 編輯。強化學習。 Springer 工程和計算機科學國際系列(知識表示、學習和專家系統)173(Springer,1992):5-32。 ↩
Richard S. Sutton, “Introduction: The Challenge of Reinforcement Learning,” in Richard S. Sutton, eds. Reinforcement Learning. The Springer International Series in Engineering and Computer Science (Knowledge Representation, Learning and Expert Systems) 173 (Springer, 1992): 5-32. ↩ 如前所述,ml5.js 建立在 tensorflow.js 之上。 ↩
ml5.js is built on top of tensorflow.js, as mentioned previously. ↩ 參見 ml5.js 庫,https://ml5js.org/;和 Daniel Shiffman 的 The Coding Train 系列,他在其中討論了 ml5.js:https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YPSwT06y_AEYTqIwbeam3y。 ↩
See the ml5.js library, https://ml5js.org/; and Daniel Shiffman’s The Coding Train series during which he discusses ml5.js: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YPSwT06y_AEYTqIwbeam3y. ↩ 訓練過程在安裝了 TensorFlow 的 Python 環境中運行。它被開發為用於字符級語言模型的多層循環神經網絡,並且可以很好地與 ml5.js 配合使用。請參閱 Cristóbal Valenzuela 在 https://github.com/Paperspace/training-lstm 上的開原始碼。 ↩
The training process is run in a Python environment with TensorFlow installed. It was developed as a multi-layer, recurrent neural network for character-level language models, and it works well with ml5.js. See the open source code by Cristóbal Valenzuela at https://github.com/Paperspace/training-lstm. ↩ 例如,這裡的概括會導致固有的偏見,例如面部識別技術中白人的特權。參見 Buolamwini,“回應:亞馬遜識別中的種族和性別偏見”;和本傑明,“機器人是種族主義者嗎”;還有 Shakir Mohamed、Marie-Therese Png、William Isaac,“Decolonial AI:Decolonial Theory as Sociotechnical Foresight in人工智能”,Philosophy & Technology,Springer,2020 年 7 月 12 日,https://doi.org/10.1007/s13347-020 -00405-8。 ↩
For instance, the generalization here leads to inherent bias such as the privileging of white people in facial recognition technologies. See Buolamwini, “Response: Racial and Gender Bias in Amazon Recognition”; and Benjamin, “Are Robots Racist”; also Shakir Mohamed, Marie-Therese Png, William Isaac, “Decolonial AI: Decolonial Theory as Sociotechnical Foresight in Artificial Intelligence,” Philosophy & Technology, Springer, July 12, 2020, https://doi.org/10.1007/s13347-020-00405-8. ↩ 溫度值與數學中的“softmax 函式”有關,與輸入數字/字符的概率分佈有關。對於高溫,概率將均勻分佈,從而導致更隨機的結果。相反,低溫會產生更預期/更保守的結果。 ↩
The value of temperature relates to the “softmax function” in mathematics, relating to probability distribution with the input numbers/characters. For high temperature, the probability will distribute evenly resulting in a more random result. On the contrary, a low temperature will generate a more expected/conservative result. ↩ 在提出這個問題時,我們參考了 Adrian Mackenzie 前面提到的文章“預測的產生:機器學習想要什麼?”在歐洲文化研究雜誌。 ↩
In asking this question, we reference Adrian Mackenzie’s aforementioned essay “The Production of Prediction: What Does Machine Learning Want?” in European Journal of Cultural Studies. ↩ Philip E. Agre,“Toward a Critical Technical Practice: Lessons Learned in Trying to Reform AI”,Geoffrey Bowker、Les Gasser、Leigh Star 和 Bill Turner 合編,Bridging the Great Divide:社會科學、技術系統和合作工作(紐約:埃爾鮑姆,1997 年)。 ↩
Philip E. Agre, “Toward a Critical Technical Practice: Lessons Learned in Trying to Reform AI,” in Geoffrey Bowker, Les Gasser, Leigh Star, and Bill Turner, eds., Bridging the Great Divide: Social Science, Technical Systems, and Cooperative Work (New York: Erlbaum, 1997). ↩ 在這裡,我們可以藉鑑 Stuart Hall 的“編碼/解碼”交流模型,該模型將強調如何從編碼材料中生成協商和對立的含義。參見 Stuart Hall,“編碼/解碼”,在 Stuart Hall、Dorothy Hobson、Andrew Lowe 和 Paul Willis 編輯,文化、媒體、語言:文化研究工作論文(倫敦:哈欽森,1980 年),128-38。 ↩
Here we might draw upon Stuart Hall’s “encoding/decoding” model of communication that would emphasize how negotiated and oppositional meanings can be generated from coded materials. See Stuart Hall, “Encoding/Decoding,” in Stuart Hall, Dorothy Hobson, Andrew Lowe and Paul Willis, eds., Culture, Media, Language: Working Papers in Cultural Studies (London: Hutchinson, 1980), 128-38. ↩ Ruha Benjamin 在她的主題演講 ai ICLR 2020(國際學習代表會議)、虛擬會議 https://iclr.cc/ 中敦促工程師考慮歷史和社會學問題。 ↩
Ruha Benjamin is urging engineers to consider historical and sociological issues in her keynote address ai ICLR 2020 (International Conference on Learning Representations), virtual conference, https://iclr.cc/. ↩ Samuel,“使用跳棋遊戲進行機器學習的一些研究”。 ↩
Samuel, “Some Studies in Machine Learning Using the Game of Checkers.” ↩ 李飛飛的話摘自 Nicolas Malevé 的文章“'貓坐在床上':人類和機器學習中的視覺教育”,Unthinking Photography (2016),https://unthinking.photography/articles/the-貓坐在床上的視覺教學法在人機學習中。 ↩
The Fei Fei Li quote is taken from Nicolas Malevé’s article, “‘The cat sits on the bed’: Pedagogies of vision in human and machine learning,” Unthinking Photography (2016), https://unthinking.photography/articles/the-cat-sits-on-the-bed-pedagogies-of-vision-in-human-and-machine-learning. ↩ 馬列夫,“‘貓坐在床上’。” ↩
Malevé, “‘The cat sits on the bed’.” ↩ “激進教育學”是對馬克思主義教育哲學的一種參考,該哲學旨在讓學生意識到他們的壓迫條件,並批評教育是一種統治形式。例如,Paolo Friere 的《被壓迫者教育學》(紐約:Continuum,1970 年)強調了將人視為客體而非主體的教育形式之間的對比。 ↩
“Radical pedagogy” is a reference to a Marxist philosophy of education which sets out to make students aware of their oppressive conditions, and to critique education as a form of domination. Paolo Friere’s Pedagogy of the Oppressed (New York: Continuum, 1970), for example, highlights the contrasts between educational forms that treat people as objects rather than subjects. ↩ 約翰·伯傑,觀看方式(倫敦:企鵝出版社,1972 年)。伯傑的論點基於沃爾特·本雅明 (Walter Benjamin) 的論文“機械複製時代的藝術作品”(1936),https://www.marxists.org/reference/subject/philosophy/works/ge/benjamin.htm。 ↩
John Berger, Ways of Seeing (London: Penguin, 1972). Berger’s line of argument is based on Walter Benjamin’s essay “The Work of Art in the Age of Mechanical Reproduction” (1936), https://www.marxists.org/reference/subject/philosophy/works/ge/benjamin.htm. ↩ Geoff Cox,“機器視覺的方式”,Unthinking Photography(2016 年),https://unthinking.photography/articles/ways-of-machine-seeing。標題取自劍橋數字人文網絡組織的研討會,由 Anne Alexander、Alan Blackwell、Geoff Cox 和 Leo Impett 召集,於 2016 年 7 月 11 日在劍橋大學達爾文學院舉行。本文轉載於A Peer-Reviewed Journal 中的原始碼 About 6, no. 1 (2017): 8–15, https://doi.org/10.7146/aprja.v6i1.116007。 ↩
Geoff Cox, “Ways of Machine Seeing,” Unthinking Photography (2016), https://unthinking.photography/articles/ways-of-machine-seeing. The title is taken from a workshop organized by the Cambridge Digital Humanities Network, convened by Anne Alexander, Alan Blackwell, Geoff Cox, and Leo Impett, and held at Darwin College, University of Cambridge, July 11, 2016. The essay is republished with source code in A Peer-Reviewed Journal About 6, no. 1 (2017): 8–15, https://doi.org/10.7146/aprja.v6i1.116007. ↩ 伯傑,觀看方式。 ↩
Berger, Ways of Seeing. ↩ Adrian Mackenzie,機器學習者:數據實踐考古學(劍橋,馬薩諸塞州:麻省理工學院出版社,2017 年),6。↩
Adrian Mackenzie, Machine Learners: Archaeology of a Data Practice (Cambridge, MA: MIT Press, 2017), 6. ↩ 在眾多可能性中,進一步的相關調查可能包括:Adrian Mackenzie 和 Anna Munster,“平台觀看:圖像集成及其視覺效果”,理論、文化與社會 26,第 5 期(2019 年):3-22;和 Matteo Pasquinelli,“機器如何學習和失敗:人工智能的錯誤語法”,Spheres 5(2019 年),http://matteopasquinelli.com/grammar-of-error-for-artificial-intelligence/。 ↩
Amongst many possibilities, further relevant lines of inquiry might include: Adrian Mackenzie and Anna Munster, “Platform Seeing: Image Ensembles and Their Invisualities,” Theory, Culture & Society 26, no.5 (2019): 3-22; and Matteo Pasquinelli, “How a Machine Learns and Fails: A Grammar of Error for Artificial Intelligence,” Spheres 5 (2019), http://matteopasquinelli.com/grammar-of-error-for-artificial-intelligence/. ↩ 見 Ian J. Goodfellow、Jean Pouget-Abadie、Mehadi Mirza、Bing Xu、David Warde-Farley、Sherjil Ozair、Aaron Courville、Yoshua Bengio,“生成對抗網絡”IPS'14:第 27 屆神經信息處理國際會議論文集系統 - 第 2 卷(2014 年):2672-2680。一個相關的例子是 Aimji:AI 生成的表情符號,它使用深度學習來弄亂表情符號的還原表示邏輯(如第 2 章所述)。請參閱 https://process.studio/works/aimoji-ai-generated-emoji/。 ↩
See Ian J. Goodfellow, Jean Pouget-Abadie, Mehadi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, “Generative Adversarial Networks” IPS‘14: Proceedings of the 27th International Conference on Neural Information Processing Systems - Volume 2 (2014): 2672–2680. A pertinent example would be Aimji: AI-Generated Emoji that uses deep learning to mess up the reductive representational logic of emojis (as explored in Chapter 2). See https://process.studio/works/aimoji-ai-generated-emoji/. ↩ 人工智能時代的對抗性黑客研討會接受了這一挑戰,已發布的大綱提供了對利害關係的有用描述:“對抗性攻擊是機器學習分類器如何被欺騙感知不存在的東西的一個例子,就像歸類為步槍的海龜的 3D 打印模型。嵌入在無人駕駛汽車中的計算機視覺可能會混淆,無法識別路牌。藝術家 Adam Harvey、Zach Blas & Jemina Wyman 和 Heather Dewey-Hagborg 在他們的項目中利用了對抗性過程,以顛覆和批判性地響應面部識別系統。但這不僅僅是關於計算機視覺。德國波鴻的科學家最近研究了心理聲學隱藏如何對抗自動語音識別系統的檢測。”見 https://2020.transmediale.de/content/adversarial-hacking-in-the-age-of-ai-call-for-proposals。 ↩
The workshop Adversarial Hacking in the Age of AI took up this challenge, and the published outline provides a useful description of what is at stake: “Adversarial attacks are an instance of how a machine-learning classifier is tricked into perceiving something that is not there, like a 3D-printed model of a turtle that is classified as a rifle. The computer vision embedded in a driverless car can be confused and not recognize street signs. Artists Adam Harvey, Zach Blas & Jemina Wyman, and Heather Dewey-Hagborg have utilized adversarial processes in their projects in order to subvert and critically respond to facial recognition systems. But this is not just about computer vision. Scientists in Bochum, Germany recently studied how psychoacoustic hiding can oppose the detection of automatic speech recognition systems.” See https://2020.transmediale.de/content/adversarial-hacking-in-the-age-of-ai-call-for-proposals. ↩ 同意,“邁向關鍵技術實踐。” ↩
Agre, “Toward a Critical Technical Practice.” ↩ 關於算法預測的權力動態,台灣數字部長奧黛麗唐也是一名激進分子和黑客,她指出“缺乏問責制”和“價值對齊”是當代使用和部署問題的一部分。預測技術,此外,強調多元化而非單一性對於在台灣建立彈性社會至關重要。請參閱 https://www.youtube.com/watch?v=tRVEY95cI0o。 ↩
Regarding the power dynamics on algorithmic predictions, the Digital Minister of Taiwan, Audrey Tang, who is also an activist and hacker, makes the point that the “lack of accountability” and “value alignment” are part of the contemporary problems of using and deploying predictive technologies, and further that an emphasis on plurality rather than singularity is crucial in building a resilient society in Taiwan. See https://www.youtube.com/watch?v=tRVEY95cI0o. ↩ Mackenzie,機器學習者,14 歲。↩
Mackenzie, Machine Learners, 14. ↩ Mackenzie,機器學習者,27 歲。↩
Mackenzie, Machine Learners, 27. ↩ 我們使用了 Fiona Lau 在 Python 中開發的免費開源程式 Text Generation with Tensorflow 來生成以下章節,因為它更好地考慮了符號、換行符和 Markdown 語法。請參閱 https://github.com/fionalcy/text-generation。 ↩
We have used the free and open source program Text Generation with Tensorflow developed by Fiona Lau in Python to generate the following chapter as it takes better account of symbols, line breaks, and markdown syntax. See https://github.com/fionalcy/text-generation. ↩ 經 ACM Communications 許可重新發布,來自 ELIZA-a Computer Program for the Study of Natural Language Communication between Man and Machine, Joseph Weizenbaum, 9, 1 and 1966 版權所有;通過 Copyright Clearance Center, Inc. 傳達的許可。已為使用本書中的流程圖圖像支付了少量許可費用。我們為違反我們的免費和開放訪問原則的付費牆商業模式做出的貢獻表示歉意,但我們也考慮了 Weizenbaum 工作在計算史上的重要性,以及這個流程圖如何展示了 Eliza 的詳細邏輯。 ↩
Republished with permission of Communications of the ACM, from ELIZA—a Computer Program for the Study of Natural Language Communication between Man and Machine, Joseph Weizenbaum, 9, 1 and 1966 of copyright; permission conveyed through Copyright Clearance Center, Inc. A small amount of license fees have been paid for using the flowchart image in this book. We apologize for contributing to the paywall business model that violates our free and open access principles, but we have also considered the importance of Weizenbaum’s work in computing history, and how this flowchart demonstrates the detailed logic of Eliza. ↩