Trích Từ MARK ZUCKERBERG
thách thức cá nhân của tôi cho năm 2016 là xây dựng một AI đơn giản để chạy về nhà của tôi – như Jarvis trong Iron Man.
Mục tiêu của tôi là để tìm hiểu về nhà nước của trí tuệ nhân tạo nơi chúng tôi đang tiếp tục cùng với mọi người nhận ra và nơi mà chúng ta vẫn còn một cách xa. Những thách thức này luôn luôn dẫn tôi để tìm hiểu nhiều hơn tôi mong đợi, và điều này cũng đã cho tôi một cảm giác tốt hơn của tất cả các công nghệ nội bộ kỹ sư Facebook có được sử dụng, cũng như một cái nhìn tổng quan toàn diện về tự động hóa nhà.
Vì vậy, trong năm nay, tôi đã xây dựng một AI đơn giản mà tôi có thể nói chuyện với trên điện thoại và máy tính của tôi, có thể kiểm soát nhà của tôi, kể cả ánh sáng, nhiệt độ, đồ gia dụng, âm nhạc và an ninh, có học vị và các mẫu của tôi, có thể học từ ngữ và khái niệm mới, và thậm chí có thể giải trí tối đa. Nó sử dụng một số kỹ thuật trí tuệ nhân tạo, bao gồm xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói, nhận dạng khuôn mặt, và học tăng cường, được viết bằng Python, PHP và Objective C. Trong bài này, tôi sẽ giải thích những gì tôi được xây dựng và những gì tôi học được trên đường đi.

Bắt đầu: Kết nối chủ
Trong một số cách, thách thức này dễ dàng hơn tôi mong đợi. Trong thực tế, thách thức của tôi đang chạy (tôi cũng đặt ra để chạy 365 dặm vào năm 2016) đã tổng thời gian hơn. Nhưng một khía cạnh đó là phức tạp hơn nhiều hơn tôi mong đợi đã được chỉ đơn giản là kết nối và giao tiếp với tất cả các hệ thống khác nhau trong nhà của tôi.
Trước khi tôi có thể xây dựng bất kỳ AI, đầu tiên tôi cần phải viết code để kết nối các hệ thống này, mà tất cả đều nói ngôn ngữ và các giao thức khác nhau. Chúng tôi sử dụng một hệ thống Crestron với đèn của chúng tôi, nhiệt và cửa ra vào, một hệ thống với Spotify cho âm nhạc, TV Samsung, một cam Nest cho Max Sonos, và tất nhiên công việc của tôi được kết nối với hệ thống của Facebook. Tôi đã phải đảo ngược API kỹ sư cho một số thậm chí có được đến điểm mà tôi có thể phát hành một lệnh từ máy tính của tôi để biến ánh sáng trên hoặc nhận được một bài hát để chơi.
Hơn nữa, hầu hết các thiết bị thậm chí còn không có kết nối internet nào. Có thể kiểm soát một số các cách sử dụng công tắc điện có kết nối internet cho phép bạn bật điện và tắt từ xa. Nhưng thường thì đó là không đủ. Ví dụ, có một điều tôi học được là thật khó để tìm thấy một máy nướng bánh mì mà sẽ cho phép bạn đẩy bánh mì xuống trong khi nó được hỗ trợ để bạn có thể tự động bắt đầu nướng khi cúp điện trên. Tôi đã kết thúc việc tìm kiếm một máy nướng bánh mì cũ từ những năm 1950 và đầu cơ nó lên với một chuyển đổi kết nối. Tương tự như vậy, tôi thấy rằng kết nối một thiết bị phân phối thực phẩm cho Beast hoặc một t-shirt màu xám pháo sẽ yêu cầu sửa đổi phần cứng để làm việc.
Đối với trợ lý như Jarvis để có thể kiểm soát tất cả mọi thứ trong nhà cho nhiều người hơn, chúng ta cần thêm các thiết bị được kết nối và ngành công nghiệp cần phát triển API phổ biến và các tiêu chuẩn cho các thiết bị để nói chuyện với nhau.

thách thức cá nhân của tôi cho năm 2016 là xây dựng một AI đơn giản để chạy về nhà của tôi – như Jarvis trong Iron Man.
Mục tiêu của tôi là để tìm hiểu về nhà nước của trí tuệ nhân tạo nơi chúng tôi đang tiếp tục cùng với mọi người nhận ra và nơi mà chúng ta vẫn còn một cách xa. Những thách thức này luôn luôn dẫn tôi để tìm hiểu nhiều hơn tôi mong đợi, và điều này cũng đã cho tôi một cảm giác tốt hơn của tất cả các công nghệ nội bộ kỹ sư Facebook có được sử dụng, cũng như một cái nhìn tổng quan toàn diện về tự động hóa nhà.
Vì vậy, trong năm nay, tôi đã xây dựng một AI đơn giản mà tôi có thể nói chuyện với trên điện thoại và máy tính của tôi, có thể kiểm soát nhà của tôi, kể cả ánh sáng, nhiệt độ, đồ gia dụng, âm nhạc và an ninh, có học vị và các mẫu của tôi, có thể học từ ngữ và khái niệm mới, và thậm chí có thể giải trí tối đa. Nó sử dụng một số kỹ thuật trí tuệ nhân tạo, bao gồm xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói, nhận dạng khuôn mặt, và học tăng cường, được viết bằng Python, PHP và Objective C. Trong bài này, tôi sẽ giải thích những gì tôi được xây dựng và những gì tôi học được trên đường đi.
Bắt đầu: Kết nối chủ
Trong một số cách, thách thức này dễ dàng hơn tôi mong đợi. Trong thực tế, thách thức của tôi đang chạy (tôi cũng đặt ra để chạy 365 dặm vào năm 2016) đã tổng thời gian hơn. Nhưng một khía cạnh đó là phức tạp hơn nhiều hơn tôi mong đợi đã được chỉ đơn giản là kết nối và giao tiếp với tất cả các hệ thống khác nhau trong nhà của tôi.
Trước khi tôi có thể xây dựng bất kỳ AI, đầu tiên tôi cần phải viết code để kết nối các hệ thống này, mà tất cả đều nói ngôn ngữ và các giao thức khác nhau. Chúng tôi sử dụng một hệ thống Crestron với đèn của chúng tôi, nhiệt và cửa ra vào, một hệ thống với Spotify cho âm nhạc, TV Samsung, một cam Nest cho Max Sonos, và tất nhiên công việc của tôi được kết nối với hệ thống của Facebook. Tôi đã phải đảo ngược API kỹ sư cho một số thậm chí có được đến điểm mà tôi có thể phát hành một lệnh từ máy tính của tôi để biến ánh sáng trên hoặc nhận được một bài hát để chơi.
Hơn nữa, hầu hết các thiết bị thậm chí còn không có kết nối internet nào. Có thể kiểm soát một số các cách sử dụng công tắc điện có kết nối internet cho phép bạn bật điện và tắt từ xa. Nhưng thường thì đó là không đủ. Ví dụ, có một điều tôi học được là thật khó để tìm thấy một máy nướng bánh mì mà sẽ cho phép bạn đẩy bánh mì xuống trong khi nó được hỗ trợ để bạn có thể tự động bắt đầu nướng khi cúp điện trên. Tôi đã kết thúc việc tìm kiếm một máy nướng bánh mì cũ từ những năm 1950 và đầu cơ nó lên với một chuyển đổi kết nối. Tương tự như vậy, tôi thấy rằng kết nối một thiết bị phân phối thực phẩm cho Beast hoặc một t-shirt màu xám pháo sẽ yêu cầu sửa đổi phần cứng để làm việc.
Đối với trợ lý như Jarvis để có thể kiểm soát tất cả mọi thứ trong nhà cho nhiều người hơn, chúng ta cần thêm các thiết bị được kết nối và ngành công nghiệp cần phát triển API phổ biến và các tiêu chuẩn cho các thiết bị để nói chuyện với nhau.

Ngôn ngữ tự nhiên
Một khi tôi đã viết code để máy tính của tôi có thể kiểm soát nhà của tôi, bước tiếp theo là làm cho nó để tôi có thể nói chuyện với máy tính và nhà tôi cách tôi muốn nói chuyện với bất cứ ai khác. Đây là một quá trình hai bước: đầu tiên tôi đã làm cho nó để tôi có thể giao tiếp bằng tin nhắn văn bản, và sau đó tôi thêm khả năng để nói chuyện và có nó dịch bài phát biểu của tôi vào văn bản cho nó để đọc.
Nó bắt đầu đơn giản bằng cách tìm kiếm các từ khóa như phòng ngủ, ánh sáng, và on để xác định Tôi đã nói với nó bật đèn sáng trong phòng ngủ. Nó nhanh chóng trở nên rõ ràng rằng nó cần phải học hỏi từ đồng nghĩa như là phòng gia đình và phòng khách có nghĩa giống nhau trong nhà của chúng tôi. Điều này có nghĩa là xây dựng một cách để dạy nó từ và khái niệm mới.
Hiểu bối cảnh là quan trọng đối với bất kỳ ai. Ví dụ, khi tôi nói với nó để biến các AC trong văn phòng của tôi, có nghĩa là một cái gì đó hoàn toàn khác nhau từ khi Priscilla nói với nó những điều chính xác. Đó là một trong gây ra một số vấn đề! Hoặc, ví dụ, khi bạn hỏi nó để làm cho đèn mờ hoặc chơi một bài hát mà không chỉ định một căn phòng, nó cần phải biết bạn đang ở đâu hoặc nó có thể kết thúc nổ âm nhạc trong phòng của Max khi chúng ta thực sự cần cô ấy để có một giấc ngủ ngắn . Lỗi chính.
Âm nhạc là một miền thú vị hơn và phức tạp đối với ngôn ngữ tự nhiên, vì có quá nhiều nghệ sĩ, bài hát và album cho một hệ thống từ khóa để xử lý. Phạm vi điều bạn có thể yêu cầu nó cũng là lớn hơn nhiều. Đèn chỉ có thể được bật lên hoặc xuống, nhưng khi bạn nói chơi , thậm chí biến thể tinh tế có thể có nhiều nghĩa khác nhau. Hãy xem xét các yêu cầu liên quan đến Adele: đóng vai một người giống như bạn, chơi một người như Adele, và chơi một số Adele. Những âm thanh tương tự, nhưng mỗi một thể loại hoàn toàn khác nhau của yêu cầu. Việc đầu tiên đóng vai một bài hát cụ thể, thứ hai đề nghị một nghệ sĩ, và thứ ba tạo ra một danh sách các bài hát hay nhất của Adele. Thông qua một hệ thống thông tin phản hồi tích cực và tiêu cực, một AI có thể học được những khác biệt này.
Các bối cảnh nhiều hơn một AI có, tốt hơn nó có thể xử lý các yêu cầu kết thúc mở. Tại thời điểm này, tôi chủ yếu chỉ cần hỏi Jarvis để chơi tôi một số âm nhạc và bằng cách nhìn vào mô hình nghe quá khứ của tôi, nó chủ yếu là móng cái gì tôi muốn nghe. Nếu nó được tâm trạng sai, tôi chỉ có thể nói với nó, ví dụ, đó không phải là ánh sáng, chơi một cái gì đó ánh sáng, và nó có thể vừa học phân loại cho bài hát đó và điều chỉnh ngay lập tức. Nó cũng biết cho dù tôi đang nói chuyện với nó hay Priscilla, do đó, nó có thể làm cho các khuyến nghị dựa trên những gì chúng ta từng nghe. Nói chung, tôi đã tìm thấy chúng tôi sử dụng những yêu cầu động mở rộng thường xuyên hơn nữa cụ thể yêu cầu. Không có sản phẩm thương mại, tôi biết làm điều này hôm nay, và điều này dường như là một cơ hội lớn.

Jarvis sử dụng nhận dạng khuôn mặt để cho bạn bè của tôi tự động và cho tôi biết.
Tầm nhìn và nhận diện khuôn mặt
Khoảng một phần ba của bộ não con người được dành riêng cho thị giác, và có nhiều vấn đề quan trọng liên quan AI để hiểu những gì đang xảy ra trong những hình ảnh và video. Những vấn đề này bao gồm theo dõi (ví dụ như là Max tỉnh táo và di chuyển xung quanh trong giường cũi của mình?), Đối tượng công nhận (ví dụ như là quái thú hay một tấm thảm trong căn phòng đó?), Và nhận dạng khuôn mặt (ví dụ như người ở cửa?).
nhận dạng khuôn mặt là một phiên bản đặc biệt khó khăn của sự công nhận đối tượng bởi vì hầu hết mọi người nhìn tương đối giống so với nói ngoài hai đối tượng ngẫu nhiên ví dụ, một chiếc bánh sandwich và một ngôi nhà. Nhưng Facebook đã nhận được rất tốt tại nhận dạng khuôn mặt để xác định khi bạn bè của bạn trong bức ảnh của bạn. chuyên môn mà còn rất hữu ích khi bạn bè của bạn đang ở cửa nhà bạn và AI của bạn cần phải xác định xem có nên cho họ vào.
Để làm điều này, tôi đã cài đặt một vài máy ảnh tại cửa nhà tôi có thể chụp hình ảnh từ mọi góc độ. AI hệ thống ngày nay không thể xác định người từ phía sau của người đứng đầu của họ, do đó, có một vài góc độ đảm bảo chúng tôi nhìn thấy khuôn mặt của người đó. Tôi xây dựng một máy chủ đơn giản mà liên tục đồng hồ các máy ảnh và chạy một quá trình hai bước: đầu tiên, nó chạy nhận diện khuôn mặt để xem nếu có người đã đi vào xem, và thứ hai, nếu nó tìm thấy một khuôn mặt, sau đó nó chạy nhận dạng khuôn mặt để xác định ai người đó. Một khi nó xác định người đó, nó sẽ kiểm tra một danh sách để xác nhận tôi hy vọng người đó, và nếu tôi sau đó nó sẽ cho họ vào và nói với tôi rằng họ đang ở đây.
Loại hệ thống AI thị giác là hữu ích cho một số thứ, kể cả khi biết Max là tỉnh táo, do nó có thể bắt đầu chơi nhạc hoặc một bài học tiếng Hoa, hoặc giải quyết các vấn đề bối cảnh của việc biết mà phòng nào trong nhà chúng ta đang ở trong quá AI có thể đáp ứng một cách chính xác các yêu cầu bối cảnh tự do như bật đèn sáng mà không cho một vị trí. Giống như hầu hết các khía cạnh của AI này, tầm nhìn là hữu ích nhất khi nó thông báo một mô hình rộng hơn về thế giới, kết nối với các khả năng khác giống như biết bạn bè của bạn là ai và làm thế nào để mở cửa khi họ đang ở đây. Các bối cảnh nhiều hơn hệ thống có, thông minh hơn là lấy tổng thể.
http://i.imgur.com/Jd4nFTq.jpg
Trong một cách, AI là cả hai gần gũi hơn và xa hơn hơn chúng ta tưởng tượng. AI là gần gũi hơn để có thể làm những điều mạnh mẽ hơn so với hầu hết mọi người mong đợi – lái xe ô tô, chữa bệnh, khám phá các hành tinh, sự hiểu biết phương tiện truyền thông. Những mỗi người sẽ có một ảnh hưởng lớn trên thế giới, nhưng chúng tôi vẫn đang tìm ra những gì tình báo thực sự là.
Nhìn chung, đây là một thách thức lớn. Những thách thức này có một cách dạy tôi nhiều hơn tôi mong đợi lúc đầu. Năm nay tôi nghĩ rằng tôi muốn tìm hiểu về AI, và tôi cũng đã học về nhà tự động và công nghệ nội bộ của Facebook quá. Đó là những gì rất thú vị về những thách thức này. Cảm ơn đã theo cùng với thách thức này và tôi mong muốn được chia sẻ thách thức trong năm tới trong một vài tuần.
Một khi tôi đã viết code để máy tính của tôi có thể kiểm soát nhà của tôi, bước tiếp theo là làm cho nó để tôi có thể nói chuyện với máy tính và nhà tôi cách tôi muốn nói chuyện với bất cứ ai khác. Đây là một quá trình hai bước: đầu tiên tôi đã làm cho nó để tôi có thể giao tiếp bằng tin nhắn văn bản, và sau đó tôi thêm khả năng để nói chuyện và có nó dịch bài phát biểu của tôi vào văn bản cho nó để đọc.
Nó bắt đầu đơn giản bằng cách tìm kiếm các từ khóa như phòng ngủ, ánh sáng, và on để xác định Tôi đã nói với nó bật đèn sáng trong phòng ngủ. Nó nhanh chóng trở nên rõ ràng rằng nó cần phải học hỏi từ đồng nghĩa như là phòng gia đình và phòng khách có nghĩa giống nhau trong nhà của chúng tôi. Điều này có nghĩa là xây dựng một cách để dạy nó từ và khái niệm mới.
Hiểu bối cảnh là quan trọng đối với bất kỳ ai. Ví dụ, khi tôi nói với nó để biến các AC trong văn phòng của tôi, có nghĩa là một cái gì đó hoàn toàn khác nhau từ khi Priscilla nói với nó những điều chính xác. Đó là một trong gây ra một số vấn đề! Hoặc, ví dụ, khi bạn hỏi nó để làm cho đèn mờ hoặc chơi một bài hát mà không chỉ định một căn phòng, nó cần phải biết bạn đang ở đâu hoặc nó có thể kết thúc nổ âm nhạc trong phòng của Max khi chúng ta thực sự cần cô ấy để có một giấc ngủ ngắn . Lỗi chính.
Âm nhạc là một miền thú vị hơn và phức tạp đối với ngôn ngữ tự nhiên, vì có quá nhiều nghệ sĩ, bài hát và album cho một hệ thống từ khóa để xử lý. Phạm vi điều bạn có thể yêu cầu nó cũng là lớn hơn nhiều. Đèn chỉ có thể được bật lên hoặc xuống, nhưng khi bạn nói chơi , thậm chí biến thể tinh tế có thể có nhiều nghĩa khác nhau. Hãy xem xét các yêu cầu liên quan đến Adele: đóng vai một người giống như bạn, chơi một người như Adele, và chơi một số Adele. Những âm thanh tương tự, nhưng mỗi một thể loại hoàn toàn khác nhau của yêu cầu. Việc đầu tiên đóng vai một bài hát cụ thể, thứ hai đề nghị một nghệ sĩ, và thứ ba tạo ra một danh sách các bài hát hay nhất của Adele. Thông qua một hệ thống thông tin phản hồi tích cực và tiêu cực, một AI có thể học được những khác biệt này.
Các bối cảnh nhiều hơn một AI có, tốt hơn nó có thể xử lý các yêu cầu kết thúc mở. Tại thời điểm này, tôi chủ yếu chỉ cần hỏi Jarvis để chơi tôi một số âm nhạc và bằng cách nhìn vào mô hình nghe quá khứ của tôi, nó chủ yếu là móng cái gì tôi muốn nghe. Nếu nó được tâm trạng sai, tôi chỉ có thể nói với nó, ví dụ, đó không phải là ánh sáng, chơi một cái gì đó ánh sáng, và nó có thể vừa học phân loại cho bài hát đó và điều chỉnh ngay lập tức. Nó cũng biết cho dù tôi đang nói chuyện với nó hay Priscilla, do đó, nó có thể làm cho các khuyến nghị dựa trên những gì chúng ta từng nghe. Nói chung, tôi đã tìm thấy chúng tôi sử dụng những yêu cầu động mở rộng thường xuyên hơn nữa cụ thể yêu cầu. Không có sản phẩm thương mại, tôi biết làm điều này hôm nay, và điều này dường như là một cơ hội lớn.
Jarvis sử dụng nhận dạng khuôn mặt để cho bạn bè của tôi tự động và cho tôi biết.
Tầm nhìn và nhận diện khuôn mặt
Khoảng một phần ba của bộ não con người được dành riêng cho thị giác, và có nhiều vấn đề quan trọng liên quan AI để hiểu những gì đang xảy ra trong những hình ảnh và video. Những vấn đề này bao gồm theo dõi (ví dụ như là Max tỉnh táo và di chuyển xung quanh trong giường cũi của mình?), Đối tượng công nhận (ví dụ như là quái thú hay một tấm thảm trong căn phòng đó?), Và nhận dạng khuôn mặt (ví dụ như người ở cửa?).
nhận dạng khuôn mặt là một phiên bản đặc biệt khó khăn của sự công nhận đối tượng bởi vì hầu hết mọi người nhìn tương đối giống so với nói ngoài hai đối tượng ngẫu nhiên ví dụ, một chiếc bánh sandwich và một ngôi nhà. Nhưng Facebook đã nhận được rất tốt tại nhận dạng khuôn mặt để xác định khi bạn bè của bạn trong bức ảnh của bạn. chuyên môn mà còn rất hữu ích khi bạn bè của bạn đang ở cửa nhà bạn và AI của bạn cần phải xác định xem có nên cho họ vào.
Để làm điều này, tôi đã cài đặt một vài máy ảnh tại cửa nhà tôi có thể chụp hình ảnh từ mọi góc độ. AI hệ thống ngày nay không thể xác định người từ phía sau của người đứng đầu của họ, do đó, có một vài góc độ đảm bảo chúng tôi nhìn thấy khuôn mặt của người đó. Tôi xây dựng một máy chủ đơn giản mà liên tục đồng hồ các máy ảnh và chạy một quá trình hai bước: đầu tiên, nó chạy nhận diện khuôn mặt để xem nếu có người đã đi vào xem, và thứ hai, nếu nó tìm thấy một khuôn mặt, sau đó nó chạy nhận dạng khuôn mặt để xác định ai người đó. Một khi nó xác định người đó, nó sẽ kiểm tra một danh sách để xác nhận tôi hy vọng người đó, và nếu tôi sau đó nó sẽ cho họ vào và nói với tôi rằng họ đang ở đây.
Loại hệ thống AI thị giác là hữu ích cho một số thứ, kể cả khi biết Max là tỉnh táo, do nó có thể bắt đầu chơi nhạc hoặc một bài học tiếng Hoa, hoặc giải quyết các vấn đề bối cảnh của việc biết mà phòng nào trong nhà chúng ta đang ở trong quá AI có thể đáp ứng một cách chính xác các yêu cầu bối cảnh tự do như bật đèn sáng mà không cho một vị trí. Giống như hầu hết các khía cạnh của AI này, tầm nhìn là hữu ích nhất khi nó thông báo một mô hình rộng hơn về thế giới, kết nối với các khả năng khác giống như biết bạn bè của bạn là ai và làm thế nào để mở cửa khi họ đang ở đây. Các bối cảnh nhiều hơn hệ thống có, thông minh hơn là lấy tổng thể.
http://i.imgur.com/Jd4nFTq.jpg
Trong một cách, AI là cả hai gần gũi hơn và xa hơn hơn chúng ta tưởng tượng. AI là gần gũi hơn để có thể làm những điều mạnh mẽ hơn so với hầu hết mọi người mong đợi – lái xe ô tô, chữa bệnh, khám phá các hành tinh, sự hiểu biết phương tiện truyền thông. Những mỗi người sẽ có một ảnh hưởng lớn trên thế giới, nhưng chúng tôi vẫn đang tìm ra những gì tình báo thực sự là.
Nhìn chung, đây là một thách thức lớn. Những thách thức này có một cách dạy tôi nhiều hơn tôi mong đợi lúc đầu. Năm nay tôi nghĩ rằng tôi muốn tìm hiểu về AI, và tôi cũng đã học về nhà tự động và công nghệ nội bộ của Facebook quá. Đó là những gì rất thú vị về những thách thức này. Cảm ơn đã theo cùng với thách thức này và tôi mong muốn được chia sẻ thách thức trong năm tới trong một vài tuần.