Khái niệm, định nghĩa Keras là gì?

Keras là một library được phát triển vào năm 2015 bởi François Chollet – là một kỹ sư nghiên cứu deep learning tại google.

THÔNG TIN CHÍNH

Nó là một open source cho neural network được viết bởi ngôn ngữ python. keras là một API bậc cao có thể sử dụng chung với các thư viện deep learning nổi tiếng như tensorflow(được phát triển bởi gg), CNTK(được phát triển bởi microsoft),theano(người phát triển chính Yoshua Bengio).

Keras có một số ưu điểm như :

  • Dễ sử dụng,xây dựng model nhanh.
  • Có thể run trên cả cpu và gpu.
  • Hỗ trợ xây dựng CNN , RNN và có thể kết hợp cả 2.

Cấu trúc của keras chúng ta có thể chia ra thành 3 phần chính :

  • Function để dựng bộ xương cho model.
  • Function dùng để tiền dữ liệu.
  • Function ở trong bộ xương của model.

Models trong keras. Để khởi tạo một model trong keras ta có thể dùng 2 cách:

  • Cách 1 : Thông qua Sequential như ví dụ dưới. Chúng ta khởi tạo model bằng Sequential sau đó dùng method add để thêm các layer.
  • Cách thứ 2 để khởi tạo model là dùng function API .
  • Nó cũng tương tự như computation graph, chúng ta xem input cũng là một layer sau đó build từ input tới output sau đó kết hợp lại bằng hàm Model. Ưu điểm của phương pháp này có thể tùy biến nhiều hơn,giúp ta xây dựng các model phức tạp nhiều input và output.
  • Khi chúng ta khởi tạo một model thì có các method ta cần lưu ý là :
    • compile : Sau khi build model xong thì compile nó có tác dụng biên tập lại toàn bộ model của chúng ta đã build. Ở đây chúng ta có thể chọn các tham số để training model như : thuật toán training thông qua tham số optimizer, function loss của model chúng ta có thể sử dụng mặc định hoặc tự build thông qua tham số loss, chọn metrics hiện thị khi model được training
    • summary method này giúp chúng ta tổng hợp lại model xem model có bao nhiêu layer, tổng số tham số bao nhiêu,shape của mỗi layer..
    • fit dùng để đưa data vào training để tìm tham số model(tương tự như sklearn)
    • predict dùng để predict các new instance
    • evaluate để tính toán độ chính xác của model
    • history dùng để xem accuracy,loss qua từng epochs . Thường dùng với matplotlib để vẽ chart.
  • Tiếp theo chúng ta tìm hiểu đên sub-module Layers : Nó chứa các layers chuyên dụng để ta build các model như CNN,RNN,GANs..Có rất nhiều layers nên ta chỉ quan tâm đến một số layer thường sử dụng.