電腦科學與資訊工程

Solving Mathematical and Chemical Equations using Python

Max Gold's project, titled “Solving Mathematical and Chemical Equations using Python”, is a website comprising of 4 main programmes: one to find the smallest possible combination of two chemical compounds or elements; a self-made parsing function to convert a chemical equation into a matrix, then using Gaussian-Jordan elimination to find coefficients for an equation; a programme to parse a mathematical expression and use that parsed expression in algebraic division of an algebraic dividend of nth degree polynomial by a divisor of 1st degree polynomial; finally, a programme to solve binomial equations for the power s∈Q. This website was originally made so that Max Gold could improve his programming skills for GCSE computer science but expanded to incorporate his passion for chemistry and maths and thus allow others to use these programmes to help them with their problems as well. A problem with many conventional calculator websites is their lack of specificity – they tend to be able to compute some functions but not all. These programmes are tailored to GCSE and A level maths and chemistry, meaning this website provides an outlet to compute specific topics of problems.

Method of prosthetic vision

This work is devoted to solving the problem of orientation in the space of visually impaired people. Working on the project, a new way of transmitting visual information through an acoustic channel was invented. In addition, was developed the device, which uses distance sensors to analyze the situation around a user. Thanks to the invented algorithm of transformation of the information about the position of the obstacle into the sound of a certain tone and intensity, this device allows the user to transmit subject-spatial information in real time. Currently, the device should use a facette locator made of 36 ultrasonic locators grouped in 12 sectors by the azimuth and 3 spatial cones by the angle. Data obtained in such a way is converted into its own note according to the following pattern : the angle of the place corresponds to octave, the azimuth corresponds to the note and the distance corresponds to the volume. The choice of the notes is not unambiguous. However, we used them for the reason that over the centuries, notes have had a felicitous way of layout on the frequency range and on the logarithmic scale. Therefore, the appearance of a new note in the total signal will not be muffled by a combination of other notes. Consequently, a blind person, moving around the room with the help of the tone and volume of the sound signals, will be able to assess the presence and location of all dangerous obstacles. After theoretical substantiation of the hypothesis and analysis of the available information, we started the production of prototypes of the devices that would implement the idea of transmitting information via the acoustic channel.

第五代行動通訊中基地台毫米波天線精確的方位角量測

第五代行動通訊(5th generation mobile networks)是現今科技發展的趨勢,新技術的出現也衍生出很多新的問題,在基地台點對點傳輸時,需要精確角度的天線才足以準確地接收高頻波短的毫米波,雖然現今已經有精密儀器能測量精確的方位角,但價格較高且使用方法複雜,面對數量龐大的5G基地台時,維修成本過高。本研究利用手機拍照得到天線與目標物相對角度,結合預先得知目標物的方位角,再經過數學運算即可得到精確的天線指向。本研究希望以隨手可得的手機,配合簡單的方法,可得到精確的天線指向,解決第五代行動通訊可能面臨的問題。

Cross-lingual Information Retrieval

In this project, we evaluate the effectiveness of Random Shuffling in the Cross Lingual Information Retrieval (CLIR) process. We extended the monolingual Word2Vec model to a multilingual one via the random shuffling process. We then evaluate the cross-lingual word embeddings (CLE) in terms of retrieving parallel sentences, whereby the query sentence is in a source language and the parallel sentence is in some targeted language. Our experiments on three language pairs showed that models trained on a randomly shuffled dataset outperforms randomly initialized word embeddings substantially despite its simplicity. We also explored Smart Shuffling, a more sophisticated CLIR technique which makes use of word alignment and bilingual dictionaries to guide the shuffling process, making preliminary comparisons between the two. Due to the complexity of the implementation and unavailability of open source codes, we defer experimental comparisons to future work.

利用Yolo 模型辨識台灣國語口手語之研究

手語為聾啞人士日常溝通的工具,但對一般人來說這是一種難以理解的溝通方式。本實驗使用深度學習的 Yolov3 與 Yolov4 模型訓練37個國語注音符號手勢,然後再驗證模型對圖片、影片、即時(Real time)攝影辨識的正確率。 實驗結果顯示:Yolo v3 圖片辨識度效果還不錯,但影片辨識度很差,而Yolo v4 不管在靜態的圖片或動態影片都有不錯的辨識率,另外在即時的影像辨識也有不錯的效果。 雖然有部分符號的辨識度很低,但這可能是訓練時照片拍攝的問題,如果可以改進拍攝的數量和技巧,相信可以大幅提升判讀的準確率。

以深度學習與遷移學習防範社群媒體片面新聞訊息之研究

現代民眾獲取新聞的途徑逐漸轉移到網路媒體,然而在網路資訊快速傳播以及媒體為追求報導曝光度以增加金錢利益的情形下,片面、誘導等形式的新聞標題與短句訊息在新聞媒體傳播中日益嚴重;本次研究透過Fake News Challenge提供的Stance Detection dataset,運用深度學習與遷移學習方法訓練可預測兩文本之間相關程度的自然語言處理模型,在過程中改善調參及訓練方式,並將其實際運用在預測美國新聞媒體於Facebook網路社群平台發文推播新聞的同時所附的短句與新聞報導文本內容之間的相關關係程度,分析社群平台中新聞可能造成的誤導式文句是否實際造成片面報導,而影響了受眾對於媒體的使用程度與信任程度。使此模型有助即時預警社群平台上的報導資訊型態品質,輔助使用者獲取新聞時所應具備的媒體識讀能力,進而改善片面報導於網路的流竄,同時提升未來媒體生態。

彩色二維條碼手持產品開發之探討

QR Code是由黑白模組組成的二維數位條碼,掃描後可讀取儲存的訊息。受限於設計原理,QR Code使用二進位制儲存資料。增加模組數目可增加資料量,但若在條碼內塞進太多模組時,尺寸太小的模組將無法被掃描器讀取。此外,目前QR Code掃描器僅支援單張掃描,並無法應付同時多張條碼掃描的實務需求。 如能克服顏色辨識,理論上彩色二維條碼將能克服現行QR Code的限制,但市面上並無相關產品可供測試。因此本專題設計了一款10×10、具8顏色的"Colour Matrix",並利用Raspberry Pi開發Colour Matrix在手持裝置上運作的軟硬體來進行實驗。此實驗成功利用機器學習演算法在Raspberry Pi上進行的顏色辨識。開發的程式在單張掃描上效能與使用pyzbar辨識QR Code相當;在多張掃描方面,使用pyzbar辨識QR Code的解碼成功率為3.1%,而本專題的方法將成功率提升至92.4%,擴增數位條碼的使用範圍,具商用價值。

Development of an autonomous Search and Rescue Drone

The number of natural disasters has risen significantly in recent years, and with climate change there is no end in sight. Consequently, the demands on rescue forces around the world are increasing. For this reason, I asked myself what I can do to improve the work of rescue teams. Advances in artificial intelligence and drone technology enable new possibilities for problem solving. Based on the technological advances mentioned above, an autonomous Search and Rescue drone was developed as part of this project. The system assists rescue workers in searching for survivors of natural disasters or missing people. This paper also suggests a method for prioritizing survivors based on their vitality. The system was implemented using a commercial Parrot ANAFI drone and Python. The software was tested on a simulated drone. To simplify the development, the whole system was divided into the following subsystems: Navigation System, Search System and Mission Abort System. These subsystems were tested independently. The testing of solutions and new concepts were performed using smaller test programs on the simulated drone and finally on the physical drone. The Search and Rescue system was successfully developed. The person detection system can detect humans and distinguish them from the environment. Furthermore, based on the movements of a person, the system can distinguish whether the person is a rescuer or a victim. In addition, an area to be flown over can be defined. If something goes wrong during the mission, the mission can be aborted by the Mission Abort System. In the simulation, the predefined area can successfully be flown over. Unfortunately, controlling the physical drone does not work. It stops in the air after takeoff due to the firmware of the drone. It does not change the flight state of the drone, which results in all subsequent commands from the system being ignored. This paper shows that artificial intelligence and drone technologies can be combined to deliver better rescue services. The same system can be applied to other applications.

Adversarial Attacks Against Detecting Bot Generated Text

With the introduction of the transformer architecture by Vaswani et al. (2017), contemporary Text Generation Models (TGMs) have shown incredible capabilities in generating neural text that, for humans, is nearly indistinguishable from human text (Radford et al., 2019; Zellers et al., 2019; Keskar et al., 2019). Although TGMs have many potential positive uses in writing, entertainment and software development (Solaiman et al., 2019), there is also a significant threat of these models being misused by malicious actors to generate fake news (Uchendu et al., 2020; Zellers et al., 2019), fake product reviews (Adelani et al., 2020), or extremist content (McGuffie & Newhouse, 2020). TGMs like GPT-2 generate text based on a given prompt, which limits the degree of control over the topic and sentiment of the neural text (Radford et al., 2019). However, other TGMs like GROVER and CTRL allow for greater control of the content and style of generated text, which increases its potential for misuse by malicious actors (Zellers et al., 2019; Keskar et al., 2019). Additionally, many state-of-the-art pre-trained TGMs are available freely online and can be deployed by low-skilled individuals with minimal resources (Solaiman et al., 2019). There is therefore an immediate and substantial need to develop methods that can detect misuse of TGMs on vulnerable platforms like social media or e-commerce websites. Several methods have been explored in detecting neural text. Gehrmann et al. (2019) developed the GLTR tool which highlights distributional differences in GPT-2 generated text and human text, and assists humans in identifying a piece of neural text. The other approach is to formulate the problem as a classification task to distinguish between neural text and human text and train a classifier model (henceforth a ‘detector’). Simple linear classifiers on TF-IDF vectors or topology of attention maps have also achieved moderate performance (Solaiman et al., 2019; Kushnareva et al., 2021). Zellers et al. (2019) propose a detector of GROVER generated text based on a linear classifier on top of the GROVER model and argue that the best TGMs are also the best detectors. However, later results by Uchendu et al. (2020) and Solaiman et al. (2019) show that this claim does not hold true for all TGMs. Consistent through most research thus far is that fine-tuning the BERT or RoBERTa language model for the detection task achieves state-of-the-art performance (Radford et al., 2019; Uchendu et al., 2020; Adelani et al., 2020; Fagni et al., 2021). I will therefore be focussing on attacks against a fine-tuned RoBERTa model. Although extensive research has been conducted on detecting generated text, there is a significant lack of research in adversarial attacks against such detectors (Jawahar et al., 2020). However, the present research that does exist preliminarily suggests that neural text detectors are not robust, meaning that the output can change drastically even for small changes in the text input and thus that these detectors are vulnerable to adversarial attacks (Wolff, 2020). In this paper, I extend on Wolff’s (2020) work on adversarial attacks on neural text detectors by proposing a series of attacks designed to counter detectors as well as an algorithm to optimally select for these attacks without compromising on the fluency of generated text. I do this with reference to a fine-tuned RoBERTa detector and on two datasets: (1) the GPT-2 WebText dataset (Radford et al., 2019) and (2) the Tweepfake dataset (Fagni et al., 2021). Additionally, I experiment with possible defences against these attacks, including (1) using count-based features, (2) stylometric features and (3) adversarial training.

Automated Debugging System – Implementing Program Spectrum Analysis and Information Retrieval on Fault Localization

在程式專案開發中,偵測錯誤常為最耗時的環節,進而影響整個專案的開發時長。而現今雖有些許輔助開發者提升偵錯效能的工具,但這些工具也只能藉由提供編譯執行中的資訊讓開發者省去偵錯時的繁瑣步驟,仍須開發者自行評估每段程式碼的正確性。此研究透過程式段落分析與資訊檢索實現自動錯誤定位,在每個程式段落標記其成為臭蟲(bug)的可能性。在程式段落分析中,執行使用者之原始碼,並透過歸納最終結果為正確及錯誤之執行路徑差異分析出每個程式段落的可疑性。接著運用資訊檢索技術於資料庫中找尋相似之原始碼,並參考其偵錯結果優化現有之可疑性,形成最終之可疑性排名。此研究不只結合了上述兩種技術,更優化可疑程度之計算方法以及資訊檢索中的相似度比對機制,達到更完善的錯誤定位。(此指「臭蟲」非語法錯誤(Syntax Errors),而為邏輯錯誤(Logic Errors)。)