Originally, I settled for a rather tedious method of first laying out the collision objects, after which I'll paint the tiles over them. The tedium soon got to me and I wonder if there is a way to automate part of this process.
This is what I eventually ended up with:
During creation of the room, I looped through all of the tiles in the room and created instances of the collision object in place of each tile. Note that the collision object (o_Wall) has been set to be invisible. The logic is about as simple as it gets. For a gml novice like myself, the bigger challenge is in reading through the documentation and finding out just what functionalities are provided.
In hindsight, it probably would have been a better idea to rewrite the collision to work with tiles instead. For now though, I'll stick to this method until performance becomes an issue.