本課程介紹構成現代計算機操作系統的基本概念和核心原理。這門課的目標是解釋那些可能在未來許多年仍然存在的概念和原則。本課程是操作系統和分布式系統研究的起點。具體地說,本課程介紹了進程、并發、同步、調度、多程序設計、內存管理和文件系統的概念。
本課程由四個部分組成。
數學基礎。矩陣、向量、Lp范數、范數的幾何、對稱性、正確定性、特征分解。無約束優化,graident下降,凸函數,拉格朗日乘數,線性最小二乘。概率空間,隨機變量,聯合分布,多維高斯函數。
線性分類器。線性判別分析、分離超平面、多類分類、貝葉斯決策規則、貝葉斯決策規則的幾何、線性回歸、邏輯回歸、感知器算法、支持向量機、非線性變換。
學習理論。偏差與方差、訓練與測試、泛化、PAC框架、Hoeffding不等式、VC維。
魯棒性。對抗性攻擊,有目標和無目標攻擊,最小距離攻擊,最大損失攻擊,規則攻擊。通過納微擾。支持向量機的魯棒性。
CS61C教授數字計算機的內部組織和操作與在并行的進展。涵蓋的主題包括數字計算機的內部組織和操作。機器架構,支持高級語言(邏輯、算術、指令排序)和操作系統(I/O、中斷、內存管理、進程切換)。計算機邏輯設計原理。涉及基本架構設計決策的權衡。
//www2.eecs.berkeley.edu/Courses/CS61C/
以深度神經網絡為代表的“深度學習”系統正越來越多地接管所有人工智能任務,從語言理解、語音和圖像識別,到機器翻譯、規劃,甚至是游戲和自動駕駛。因此,在許多高級學術機構中,深度學習的專業知識正從深奧的要求迅速轉變為強制性的先決條件,并成為工業就業市場的一大優勢。
在本課程中,我們將學習深度神經網絡的基礎知識,以及它們在各種人工智能任務中的應用。在本課程結束時,預計學生將對這門學科非常熟悉,并能夠將深度學習應用于各種任務。他們也將被定位去理解關于這個主題的許多當前的文獻,并通過進一步的學習來擴展他們的知識。
如果你只對課程感興趣,你可以在YouTube頻道上觀看。
本教程介紹了機器學習(ML)的一些主要概念。從工程的角度來看,ML領域圍繞著實現科學原理的軟件開發: (i) 對一些現象設定一個假設(選擇一個模型),(ii) 收集數據來驗證假設(驗證模型),(iii) 完善假設(迭代)。基于這一原理的一類重要算法是梯度下降法,它旨在迭代地細化由某個(權重)向量參數化的模型。通過結合假設空間(模型)、質量度量(損失)和模型優化(優化方法)的計算實現的不同選擇,可以得到大量的ML方法。目前許多被認為是(人工)智能的系統都是基于幾種基本機器學習方法的組合。在形式化ML問題的主要構建模塊之后,討論了ML方法的一些流行算法設計模式。本教程是在“機器學習:基本原理”和“人工智能”兩門課程的課堂筆記基礎上發起來的,這兩門課程我從2015年開始在阿爾托大學(Aalto University)與人合作授課。
本課程是講座和編程作業的結合,其中我們將學習現代數據庫管理系統的內部原理。它將涵蓋在高性能事務處理系統(OLTP)和大型分析系統(OLAP)中使用的組件的核心概念和基礎。這個類將強調這些思想實現的效率和正確性。本課程適用于對系統編程感興趣的高級本科生和研究生。
C++ 是一個用戶群體相當大的語言。從 C++98 的出現到 C++11 的正式定稿經歷了長達十年多之 久的積累。C++14/17 則是作為對 C++11 的重要補充和優化,C++20 則將這門語言領進了現代化的大 門,所有這些新標準中擴充的特性,給 C++ 這門語言注入了新的活力。那些還在堅持使用傳統 C++ (本書把 C++98 及其之前的 C++ 特性均稱之為傳統 C++)而未接觸過現代 C++ 的 C++ 程序員在 見到諸如 Lambda 表達式這類全新特性時,甚至會流露出『學的不是同一門語言』的驚嘆之情。
現代 C++ (本書中均指 C++11/14/17/20) 為傳統 C++ 注入的大量特性使得整個 C++ 變得更加像一門現代化的語言。現代 C++ 不僅僅增強了 C++ 語言自身的可用性,auto 關鍵字語義的修改使得我 們更加有信心來操控極度復雜的模板類型。同時還對語言運行期進行了大量的強化,Lambda 表達式的出 現讓 C++ 具有了『匿名函數』的『閉包』特性,而這一特性幾乎在現代的編程語言(諸如 Python/Swift/. . . )中已經司空見慣,右值引用的出現解決了 C++ 長期以來被人詬病的臨時對象效率問題等等。
C++17 則是近三年依賴 C++ 社區一致推進的方向,也指出了現代 C++ 編程的一個重要發展方向。盡管它的出現并不如 C++11 的分量之重,但它包含了大量小而美的語言與特性(例如結構化綁定), 這些特性的出現再一次修正了我們在 C++ 中的編程范式。 現代 C++ 還為自身的標準庫增加了非常多的工具和方法,諸如在語言自身標準的層面上制定了 std::thread,從而支持了并發編程,在不同平臺上不再依賴于系統底層的 API,實現了語言層面的跨 平臺支持;std::regex 提供了完整的正則表達式支持等等。C++98 已經被實踐證明了是一種非常成功 的『范型』,而現代 C++ 的出現,則進一步推動這種范型,讓 C++ 成為系統程序設計和庫開發更好的 語言。Concept 提供了對模板參數編譯期的檢查,進一步增強了語言整體的可用性。
總而言之,我們作為 C++ 的擁護與實踐者,始終保持接納新事物的開放心態,才能更快的推進 C++ 的發展,使得這門古老而又新穎的語言更加充滿活力。
強化學習理論(RL),重點是樣本復雜性分析。
神經網絡為建模語言提供了強大的新工具,并已被用于改善一些任務的最新技術,并解決過去不容易解決的新問題。這門課(在卡內基梅隆大學語言技術學院)將從神經網絡的簡要概述開始,然后用大部分時間展示如何將神經網絡應用于自然語言問題。每個部分將介紹一個特定的問題或自然語言的現象,描述為什么很難建模,并演示幾個模型,旨在解決這個問題。在此過程中,本課程將涵蓋在創建神經網絡模型中有用的不同技術,包括處理不同大小和結構的句子、高效處理大數據、半監督和非監督學習、結構化預測和多語言建模。